0

我制作了一个实用程序 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 文件并按原样使用它。

4

2 回答 2

0

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

于 2013-06-30T09:04:09.097 回答
0

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

<jar destfile="${dist}/lib/app.jar"
   basedir="${build}/classes"
   excludes="**/Test.class"
 />`
于 2013-06-30T08:18:47.733 回答