清单中的类路径

时间:2010-11-07 06:47:00

标签: java

我下载了一个xSocket.jar,它将用作类路径并编译myprogram.jar,两者都在Java文件夹中。 在Manifest中添加一个类路径能够找到xSocket.jar而无需在命令行中定义-cp吗?

在我的命令行D:\>位置,我尝试了java -jar java\myprogram.jar -n 0

Exception in thread "main" java.lang.NoClassDefFoundError: org/xsocket/connectio
n/IBlockingConnection
        at myprogram.main(myprogram.java:114)
Caused by: java.lang.ClassNotFoundException: org.xsocket.connection.IBlockingCon
nection
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 1 more

myprogram.jar中的我的清单:

Manifest-Version: 1.0
Created-By: 1.6.0_22 (Sun Microsystems Inc.)
Main-Class: myprogram
Class-Path: xSocket

2 个答案:

答案 0 :(得分:2)

您需要指定完整的jar文件名,即带扩展名。查看here了解详情。

Class-Path: xSocket.jar

答案 1 :(得分:1)

  

在Manifest中添加类路径   无需查找xSocket.jar   在命令行中定义-cp?

是的,就是这样。

您应该将myprogram.jar中的班次传递值更改为

Class-Path: relatedPath/xSocket.jar