我已经在netbeans中用多个库编译了我的java项目,并告诉我用以下参数执行jar:
java -cp "D:\Documents\proj\lib\commons-net-3.1.jar;D:\Documents\proj\lib\org.eclipse.swt-3.1.jar;D:\Documents\proj\lib\prompt.jar;D:\Documents\proj\lib\zip4j_1.3.2.jar;D:\Documents\proj\dist\Myprogram.jar" pack.Myprogram_GUI
但如果我移动文件夹或尝试在没有完全相同路径的另一台计算机上使用它,程序将不会加载,也不会加载库。那么有没有办法定义一种根文件夹?所以不要输入D:\ Documents \ proj \ lib \ commons-net-3.1.jar,我只需输入lib \ commons-net-3.1.jar?
答案 0 :(得分:1)
是的,您可以创建$PROJECT_HOME
作为系统环境变量,并将其与路径一起使用:
java -cp "$PROJECT_HOME\lib\commons-net-3.1.jar;$PROJECT_HOME\lib\org.eclipse.swt-3.1.jar;...
答案 1 :(得分:1)
如果使用Java 6或更高版本,则类路径通配符是JVM的一部分。您可以使用
使用相对路径java -cp ".;.\lib\*" pack.Myprogram_GUI