Как запустить jar-файл, который содержит файлы классов, скомпилированные с помощью clojure и java-кода.Java-файл содержит основной метод - PullRequest
0 голосов
/ 12 октября 2011

java -cp clojure.jar clojure.main compile.clj это компиляция кода clojure. javac CalculateSum.java компиляция кода Java. jar cvf sum.jar * .class получение файла jar файлов классов.

java CalculateSum работает в режиме main и выдает правильные данные. Как запустить файл JAR из среды Java? как java -cp clojure.jar; sum.jar clojure.main CalculateSum где 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))

compile.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, выполнить его и вывести результат

1 Ответ

1 голос
/ 12 октября 2011

Хорошо, так что есть две вещи:

  • Чтобы запустить его просто из файла JAR, а не делать его исполняемым файлом JAR, у вас все должно быть в порядкес просто:

    java -cp sum.jar CalculateSum
    

    или, возможно (если ему нужны классы из closure.jar во время выполнения)

    java -cp closure.jar;sum.jar CalculateSum
    
  • Чтобы превратить его в исполняемый файл JARкоторую вы можете запустить с

    java -jar sum.jar
    

    , вам понадобится файл манифеста , включающий атрибут Main-Class, позволяющий вам установить точку входа и, возможно, класс-Path-атрибут к добавить файл closure.jar в classpath jar .

Для получения более подробной информации перейдите по ссылкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...