可执行 JAR 忽略其自己的类路径属性
我使用了在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
线程 “main” 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
有什么想法吗?