【问题标题】:How to export java project as jar file如何将java项目导出为jar文件
【发布时间】:2013-06-30 08:11:34
【问题描述】:

我制作了一个实用的 java 项目,其中包含 XML、DB 和其他此类实用程序类。这需要对某些 ​​Apache 公共库的 3rd 方依赖,因此我通过在 eclipse Juno 中配置构建路径将其添加到我的 java 项目中。现在我想将这个 java 项目导出为 jar 文件。当我将此项目导出为可运行的 jar 文件时,它工作正常,即如果我将这个 jar 包含在其他一些 java 项目中,我可以访问实用程序类,但是当我只是将实用程序项目导出为 jar 时,我是无法使用它。 Runnable jar 需要一个主类,但我不想在我的实用程序 java 项目中保留一个主类。我已经比较了两个 jar 文件。我发现的不同之处在于,在可运行的 jar 文件中,没有 .classpath 文件,只有一个简单的 jar 文件。在可运行的 jar 文件中,所有的 jar 文件都在名为 MANIFEST-INF.mf 的文件中提及,但在简单的 jar 文件中,它只包含 .mf 文件的版本。谁能告诉我如何制作一个没有主类的 jar 文件并将其用于我的其他 java 项目,这样我只需要包含该 jar 文件并按原样使用它。

【问题讨论】:

  • 快速浏览一下maven。也许它可以解决你的问题。 maven.apache.org/guides/getting-started/…
  • 作为备用计划,我也在研究 maven。但这真的很简单,我应该能够从 Eclipse 本身做,不是吗?你的意思是说我上面的场景是不可能通过 Eclipse 实现的??
  • 连这个人也有同样的问题:stackoverflow.com/questions/16422892/… 但是没有人通过eclipse提供解决方案
  • 我放弃了。我不知道你到底想要什么。

标签: java eclipse jar


【解决方案1】:

我认为它没有在 Eclipse 中提供,因为在实用程序项目中提取外部 3rd 方库类是非标准的。随着项目的发展,它可能会导致很多问题,类冲突就是其中之一。
不过,如果您想继续您的方法,您可以将您的项目导出为普通的 jar 项目。此后,在 7zip 等实用程序中打开您的项目以及其他第三方库并将您的第三方库内容(META-INF 除外)拖放到您的项目 jar 中。就是这样。
但是,如果您想自动化它,ant 将是您的朋友。

【讨论】:

  • 我只是想知道 apache commons 或 dom4j 或 log4j 或任何其他 jars .. 这些 jars 是不是可执行文件,但人们仍然可以将它们包含在他们的项目中并使用它???
  • @MrunalGosar 但是这些罐子不包括外部依赖的类。如果您只是想将您的类导出为 jar,则此功能已经可用。
【解决方案2】:

如果只是将项目导出为jar文件,可以使用apache ant工具打包jar(war)。 做这样的事情:

<jar destfile="${dist}/lib/app.jar"
   basedir="${build}/classes"
   excludes="**/Test.class"
 />`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多