【问题标题】:Executable jar - what get's exported可执行 jar - 导出的内容
【发布时间】:2012-06-21 08:07:34
【问题描述】:

问题是:从 Eclipse 导出时,可执行 jar 中包含什么? 我之所以问,是因为我想知道,例如,如果我在项目根目录中有一个图像,该图像会包含在导出中吗?

澄清:我说的是可运行的 jar 文件(已编辑)

【问题讨论】:

  • 为什么不试一试,检查生成的 jar 文件中有什么或没有什么?
  • @StevenDevijver 目前,我无法导出项目并进入该部分并查看它是否有效。我会寻找一些可以打开 .jar 文件的应用程序。 Ty 为您的评论。
  • @Ameoo App,可以打开jar文件:7Zip,WinRAR
  • 顺便说一句,每个 jar 文件都可以使用 java -jar 执行。而且我还没有在 Eclipse 中看到这个术语。我猜你是在谈论“可运行的 JAR 文件”(在清单中定义它们的主类)?

标签: java eclipse jar


【解决方案1】:

你是说File->Export...->Runnable JAR file?只有类文件在 jar 中,并且 - 如果选择此选项 - 链接库。但是,您可以创建一个源文件夹(将其命名为“ressources”左右),这也将包含在您的 jar 中。

【讨论】:

  • 我创建了一个新的源文件夹,但它没有导出到 jar 中
  • @Ameoo 我刚刚测试了它,它运行良好。我创建了一个源文件夹 (right click on project->New->Source Folder) 并将其命名为“test”。之后,我在那里移动了一个文件“asdf”并将项目导出到 jar (right click on project->Export...->Java->Runnable JAR file) 中。请注意,文件“asdf”将位于 jar 文件的根目录中,不会有任何文件夹“test”。
  • 是的,这里的结果相同。在代码中,我使用一个文件作为“test/filename.abc”,它可以工作。导出后,我会收到与找不到 filename.abc 时相同的消息,因为它是在根文件夹中导出的。我该如何克服这个问题?
  • @Ameoo 通过将文件加载为资源:link to SO question。当然,您也可以加载图像以外的内容。看this SO question
  • 但是我应该在哪里添加该代码,因为我想完全运行我在 Eclipse 中拥有的东西,我不想在任何其他地方使用这个 jar,这就是整个应用程序。这就是我将其导出为 Runnable Jar 的原因。绝对没有办法让eclipse将源文件夹导出为jar中的文件夹?
【解决方案2】:

Eclipse JAR 导出器遵循 JAR 包规范: http://docs.oracle.com/javase/1.4.2/docs/guide/jar/jar.html

但一如既往 - 学习的最佳选择就是尝试一下。 它快速而直接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 2014-12-28
    • 2023-03-21
    相关资源
    最近更新 更多