为jar指定类路径

| 我试图配置JAR的类路径,以便我的ResourceBundle可以从中拾取属性文件。 如果我从.class文件中运行它并指定
-cp
标志,它工作正常,而ѭ1print将打印
-cp
标志中指定的路径。 如果尝试为其创建一个jar文件,则ѭ1总是打印jar文件的路径,而不会拾取属性文件。 看来,如果将其作为jar文件运行,则无法指定
-cp
标志(这正是我希望的,因为切换使用的属性文件是很常见的)。我尝试改为在jar清单中指定它,但仍无法正常工作。 以下是似乎无效的测试罐中的代码和清单:
public final class Test {
    public static void main(final String[] args) {
        System.err.println(System.getProperty(\"java.class.path\"));
    }
}
Manifest-Version: 1.0
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Main-Class: Test
Class-Path: /home/ajanuary/Projects/test/
编辑 最初的路径是毫无意义的,所以我改变了它。我想指向一个目录,ResourceBundle可以在其中找到属性文件。     
已邀请:
如果使用-jar,则-cp将被忽略:   -罐   执行封装在JAR文件中的程序。第一个参数是   JAR文件的名称,而不是   启动类名称。为了这个   工作的选择,   JAR文件必须包含一行   形式Main-Class:类名。这里,   classname标识具有以下内容的类   用作您的as7ѭ方法   应用程序的起点。见   Jar工具参考页面和Jar   的Java教程的踪迹   有关使用Jar的信息   文件和Jar文件清单。当你   使用此选项,JAR文件是   所有用户类别的来源,以及其他   用户类路径设置将被忽略。 来源:java-Java应用程序启动器     
相反,我将在Java应用程序中读取一个属性(该属性可以指示应该从何处加载资源)。 然后,如何执行该应用程序的示例为:
java -Dkey=value -jar application.jar
    
您不能在清单中使用类路径通配符。 看一下设置类路径以获取有关类路径如何工作的更多信息:   类路径通配符不被接受   在Class-Path jar-manifest标头中。     
是的,对于外壳来说,〜表示$ HOME,但是对于Java而言,它没有任何含义。     
问题是我也有一个索引文件。如果您有索引文件,则将忽略类路径。     

要回复问题请先登录注册