我使用了在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
有任何想法吗?