当前位置: 首页 > 面试题库 >

添加属性文件以构建可运行jar的路径

赫连越
2023-03-14
问题内容

是否可以向可运行的jar文件的类路径中添加一些属性文件?我尝试了以下解决方案:

  1. 使用以下命令运行可执行文件:

java -cp ../prop_dir/prop1.properties;../prop_dir/prop2.properties -jar
MyRunnableJar.jar

  1. 添加到清单文件中(在“类路径”部分中)

../prop_dir/prop1.properties ../prop_dir/prop1.properties

但它们都不起作用。

运行目录的体系结构如下

+
+ MyRunnableJar.jar
+ prop_dir/
   + prop1.properties
   + prop2.properties

非常感谢,

丹尼尔(Daniele)

编辑

当我执行以下行时

System.out.println(System.getProperty("java.class.path"));

我在控制台中获取

MyRunnableJar.jar

问题答案:

为了解决此问题,我使用了一种解决方法:我运行主类,而不是运行可运行的jar,然后将jar添加到类路径中。

我使用的命令如下:

java -classpath .;MyRunnableJar.jar;prop_dir; my.package.MyClass


 类似资料:
  • 我想知道您是否可以在位于JAR中的构建文件上运行Ant。我对此感兴趣的原因是,我希望在构建文件中包含一个“Deploy”目标,该目标可以在jar移动到目标之后调用。“部署”目标将负责提取运行程序所需的资源和其他库。 因此,例如,在构建时,我会将属性、图像和外部jar打包在我的jar中。然后,部署过程将包括将jar移动到它要运行的位置,并调用或类似的内容。 这有道理吗?

  • 当我导出到可运行的jar时,我需要从我的jar中访问属性文件,所以当我将props文件放在eclipse的项目根文件夹中时,它正在运行,但是当导出时,它不会被复制,所以我想将它放在源文件夹中。如何从源文件夹访问它。

  • 我使用Gradle编写了一个小型Java应用程序来构建它。该应用程序来自本教程,包含2个类:HelloWorld(主类)和Greeter。文件包含2个部分(和其他部分,目前不相关): 和 (这是必要的,因为HelloWorld类导入org.joda.time.LocalTime类)。我可以用构建应用程序,并用运行它。一切都好,我得到了结果。然而,当我试图用运行它时,我得到了错误。StackOver

  • 问题内容: 我正在使用“运行”->“运行”菜单从IntelliJ IDE运行一个简单的Java程序。它工作正常。现在,我想添加log4j日志记录。 我在项目根目录下添加了一个资源文件夹。我在该文件夹中添加了一个log4j.properties文件。我更改了代码以记录某些内容。 告诉IntelliJ在类路径中包含资源文件夹以便可以看到属性文件的正确方法是什么? 使用IntelliJ 8,我可以像喝醉

  • 问题内容: 我在程序中使用以下代码来加载属性文件: 该代码在Eclipse中运行良好。然后,将程序打包到一个名为MyProgram.jar的JAR中,然后运行它,第二行得到了NullPointerException。JAR不包含属性文件,它们都位于同一目录中。我正在使用Maven创建JAR。我该如何解决这个问题? 更新:我不想将属性文件添加到JAR中,因为它将在部署时创建。 问题答案: Balus

  • 我在Netbeans中创建了一个java项目,现在正处于构建阶段。我的项目中的所有东西都设置好了,我在它的属性中设置了一个主类,我甚至将我的项目设置为主项目。当我进行“清理和构建”时,会用我的。jar文件创建一个dist文件夹。但是,.jar文件是不可执行的,为什么呢?我打开了。jar文件并查看了清单,指定了一个main类,那么有什么问题呢?我运行的是Netbeans 7.3.1。谢了。