使用Java Eclipse使用.properties文件创建Runnable JAR

时间:2009-10-01 23:57:44

标签: java eclipse jar export

我正在尝试使用Eclipse的Export函数构建一个可运行的JAR。一切正常,除了根目录下的几个.properties文件。

我将所有.properties文件添加到Build Path中,它们出现在Java Build Path对话框的'Order and Export'选项卡下。

但是,当我尝试运行导出时,出现以下错误:

无法读取JAR文件'log4j.properties'。原因:打开zip文件时出错     打开zip文件时出错     打开zip文件时出错

实际上创建了Runnable JAR文件,但其中没有.properties文件。为什么它尝试将.properties文件导出为ZIP文件?如何使这项工作?

Eclipse Build id:20090621-0832

4 个答案:

答案 0 :(得分:4)

这是基于内存的,但我很确定属性文件不是从jar自动加载的。我们的想法是属性文件应该很容易修改。否则,值也可能只是在类文件中。

如果您尝试从其他任何位置访问属性文件,这应该不是问题。

这也是您很少看到单独打包jar文件的原因。通常还需要加载其他东西。

这种行为是否有必要?

答案 1 :(得分:1)

这就是我的工作,它可靠地运作:

  1. 将您的.properties文件放在Eclipse项目的源代码树下
  2. 确保将源树中的所有.properties文件复制到构建树。我使用ant在<copy>任务之前在同一目标中声明的<jar>任务。
  3. 我的类使用getResourceAsStream()
  4. 访问属性文件

    我不确定Eclipse Export实用程序的功能,但您可以尝试查看ant,因为它可以让您更好地控制构建过程。

答案 2 :(得分:0)

将jar文件打包和/或压缩为ZIP文件,只更改文件扩展名。

当导出向导中显示所有属性时,它们会被选中吗?当你打开jar文件时,有一些文件? * .class,META-INF,......?

[]的,

过去

答案 3 :(得分:0)

您可以使用向导创建(普通)“JAR”文件,而不是使用“导出”向导创建“Runnable JAR”。在此向导中,您可以选择应将哪些特定文件添加到JAR文件中。

如果在向导中指定主类,则生成的JAR文件也将是可运行的(通过双击或使用java -jar myapp.jar)。