我在一个jar中有一个(windows10,oraclesdkjava-12)java程序,它在另一个jar的不同目录中使用一个实用程序。
我无法使用 -jar
格式;只有 mainclass
格式适合我。如果使用,则找不到实用程序类 -jar
.
我从java程序帮助(下面)和许多其他参考资料推断 -jar program.jar
带有清单条目 Main-Class: app.Main
相当于使用 app.Main
主类。如果使用两个不同的目录就不起作用了,那我怎么会错呢?
指向不同目录的绝对路径似乎搞乱了。有大约1000个类似的问题得到了回答,但我看不到这个细节的答案(注意,我还尝试了几个使用manifest类路径的实验,它在操作上似乎类似于-cp选项。)
c:> java
用法:java[options]mainclass[args…]
(to execute a class)
或java[options]-jar文件[args…]
(to execute a jar file)
文件 c:\AA\program.jar
有一个清单 Main-Class: app.Main
文件
c:\BB\utility.jar c:\java -cp c:\AA;c:\BB; -jar c:\AA\program.jar
main为c:\bb\utility.jar中的类加载并获取异常noclassdeffounderror c:\java -cp c:\AA\program.jar;c:\BB\utility.jar; -jar c:\AA\program.jar
与上面相同,main为c:\bb\utility.jar中的类加载并获取异常noclassdeffounderror c:\java -cp c:\AA\program.jar;c:\BB\utility.jar; -jar program.jar
无法访问jarfile program.jar(令人失望的是它没有搜索classpath,但我认为这并不合理) c:\java -cp c:\AA;c:\BB app.Main
找不到app.main(需要文件名或类路径上的“*”) c:\java -cp c:\AA\program.jar;c:\BB\utility.jar; app.Main
工作正常
暂无答案!
目前还没有任何答案,快来回答吧!