gpt4 book ai didi

java - 如何运行包含 clojure 和 java 代码编译的类文件的 jar 文件。 java文件包含main方法

转载 作者:行者123 更新时间:2023-12-01 15:42:52 28 4
gpt4 key购买 nike

java -cp clojure.jar clojure.maincompile.clj 这是编译 clojure 代码。javacCalculateSum.java编译java代码。jar cvf sum.jar *.class 获取类文件的 jar 文件。

javaCalculateSum 正在运行 main 并正确给出输出。如何从java环境运行jar文件?就像java -cp clojure.jar;sum.jar clojure.mainCalculateSum,其中CalculateSum是主类。

示例代码_utils.clj_

(ns utils<br/>
(:gen-class :name Utils
:methods [#^{:static true} [sum [java.util.Collection] long]]))
(defn sumx [coll] (reduce + coll))
(defn -sum [coll] (sumx coll))

编译.clj

(set! *compile-path* "./")
(compile 'utils)

CalculateSum.java public class CalculateSum {
public static void main(String[] args) {
java.util.List<Integer> xs = new java.util.ArrayList<Integer>();
xs.add(10);<br/>
xs.add(5);
System.out.println(Utils.sum(xs));
}
}

目的是从这段代码中创建 jar 文件。并运行jar文件

java应该调用clojure代码,执行它并打印结果

最佳答案

好的,有两件事:

  • 要从 jar 文件运行它而不是使其成为可执行 jar 文件,您应该只需要:

    java -cp sum.jar CalculateSum

    或者可能(如果它在执行时需要closure.jar中的类)

    java -cp closure.jar;sum.jar CalculateSum
  • 将其转换为可以运行的可执行 jar 文件

    java -jar sum.jar

    你需要一个manifest文件包含一个 Main-Class 属性,可让您设置 entry point ,可能还有 add the closure.jar file to the jar's classpath 的类路径属性.

点击链接了解更多详情。

关于java - 如何运行包含 clojure 和 java 代码编译的类文件的 jar 文件。 java文件包含main方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735958/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com