Mavenにある手順を使用しました。jarに任意のクラスパスエントリを追加して、属性に任意のエントリを追加するにはどうすればよいですか。Class-Path
これが私のMANIFEST.MF
ファイルです:
Manifest-Version: 1.0
Class-Path: jace-runtime.jar
Main-Class: org.jace.examples.Test
org.jace.examples.Testを次のように定義しました。
public class Test
{
public static void main(String[] args)
{
System.out.println("classpath: " + System.getProperty("java.class.path"));
System.out.println("PeerExample: " + Class.forName("org.jace.util.ShutdownHook"));
}
}
ここorg.jace.util.ShutdownHook
で、はで定義されていjace-runtime.jar
ます。呼び出すjava -jar peer_example1.jar
と、次の出力が得られます。
classpath: peer_example1.jar
スレッド「メイン」の例外java.lang.ClassNotFoundException:org.jace.util.ShutdownHook
つまり、Javaは実行可能JARファイルをクラスパスに追加していますが、を無視していClass-Path
ます。呼び出すjava -cp jace-runtime.jar;peer_example1.jar org.jace.examples.Test
と、期待どおりの出力が得られます。
classpath: jace-runtime.jar;peer_example1.jar
何か案は?