Java と clojure で実装された、実行する 1 つの jar ファイルを作成したいと思います。これが私が取ったステップです。
私のJavaコードがclojureコードを呼び出すようにする
clojure コアと私の clojure コードを含む jar ファイル (ThingOne-1.0.0-SNAPSHOT-standalone.jar) を生成でき、jar ファイル内の clojure コードを使用するクラス ファイル (HelloJava.class) も取得できました。このサイトに従ってください - http://walkwithoutrhythm.net/blog/2012/03/26/how-to-call-clojure-1-dot-3-functions-from-Java/
Java コードは次のとおりです。clojure コードは ThingOne としてインポートされます。
import ThingOne.*;
public class HelloJava {
public static void main(String[] args) {
System.out.println("Hello from Java!");
core.foo (12345);
}
}
このコマンドを実行して、コードを使用できます。
java -cp 'ThingOne-1.0.0-SNAPSHOT-standalone.jar:.' HelloJava
1 つの jar ファイルの作成
この構造を持つ jar ディレクトリを 1 つ作成しました。
├── MANIFEST.MF
└── jar
└── ThingOne-1.0.0-SNAPSHOT-standalone.jar
MANIFEST.MF の内容は、
Manifest-Version: 0.1
Main-Class: HelloJava
Class-Path: jar/ThingOne-1.0.0-SNAPSHOT-standalone.jar
で1つのjarファイルを取得できましたjar cvfm hello.jar jar/MANIFEST.MF HelloJava.class
。
ただし、この jar ファイルには clojure jar ファイル (ThingOne-1.0.0-SNAPSHOT-standalone.jar) は含まれておらず、参照されているだけです。
Java クラス ファイルと clojure jar ファイルを含む 1 つの jar ファイルを作成するにはどうすればよいですか?