【问题标题】:java - classpath for librariesjava - 库的类路径
【发布时间】:2014-07-06 13:25:04
【问题描述】:

我已经用多个库在 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?

【问题讨论】:

    标签: java


    【解决方案1】:

    如果使用 Java 6 或更高版本,类路径通配符是 JVM 的一部分。您可以使用

    使用相对路径
    java -cp ".;.\lib\*" pack.Myprogram_GUI
    

    【讨论】:

      【解决方案2】:

      是的,您可以将$PROJECT_HOME 创建为系统环境变量并将其与路径一起使用:

      java -cp "$PROJECT_HOME\lib\commons-net-3.1.jar;$PROJECT_HOME\lib\org.eclipse.swt-3.1.jar;...
      

      【讨论】:

      • 我想发布这个程序让其他人可以使用它,我不是必须在启动程序之前在每台计算机上创建系统环境变量吗?
      • 其实你会... 通常有一个安装脚本在安装过程中设置环境。此安装脚本应该做的一件事是设置$PROJECT_HOME 变量。
      猜你喜欢
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2013-06-07
      • 2011-12-25
      • 1970-01-01
      相关资源
      最近更新 更多