[英]Classpath in Manifest
我已經下載了xSocket.jar並將其用作類路徑並編譯myprogram.jar,它們都在Java文件夾中。 在清單中添加類路徑是否能夠找到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
您需要指定完整的jar文件名,即擴展名。 在此處查看更多信息。
Class-Path: xSocket.jar
在清單中添加類路徑是否能夠找到xSocket.jar,而無需在命令行中定義-cp?
是的,就是這樣。
您應該將myprogram.jar
類通過值更改為
Class-Path: relatedPath/xSocket.jar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.