比如有文件夹: /jartest/test
文件夹test下有文件New2.java
/jartest/New1.java
自己定义一个类New2.java
package test;
...
然后运行javac编译它,
在上一层目录jartest中运行jar -cf New2.jar test
在上一层目录jartest中运行javac New1.java -cp New2.jar
这肯定是用了New2.jar中的类了,因为如果把test文件夹的名称改了,一样是可以的。
但是,无论如何都不能用java顺利的运行程序,郁闷坏了。尝试了这样的步骤:
1、java New1 直接运行
2、java New1 -cp .\New2.jar
3、java New1 -cp New2.jar
都是提示
classnotfoundexception
找不到类
参考了多个博客,提示
1、改写Manifest.mf文件,添加主类和包名称。
2、用-jar参数运行,javac New1.jar -jar New2.jar [-cp New2.jar] []里面的参数,意思是无论带不带这一段都会报错。
3、用-D参数运行
4、用-X参数运行,通通报错。
最后只好在windows的环境变量里面生加了当前的jar,这才可以。比如当前是C:\jartest\New2.jar 就在环境变量加上这一个路径: C:\jartest\New2.jar