你好,
我的 j2ee 应用程序依赖于大量 jar,因此我想创建一个带有 manifest 属性的单个 jar 文件,该文件在类路径中引用这些 jar 文件。然后我将把这个文件放在 glassfish lib 目录中,以便提到的 jars 成为应用程序的类路径。
唯一的问题是我不知道如何创建这个单一的 jar 文件。
建议?
问候
你好,
我的 j2ee 应用程序依赖于大量 jar,因此我想创建一个带有 manifest 属性的单个 jar 文件,该文件在类路径中引用这些 jar 文件。然后我将把这个文件放在 glassfish lib 目录中,以便提到的 jars 成为应用程序的类路径。
唯一的问题是我不知道如何创建这个单一的 jar 文件。
建议?
问候
您所描述的应该可以正常工作。当加载一个在其 manifest.mf 中有一个 Class-Path 条目的 jar 时,所有引用的 jar 都将被添加到类路径中。如果您碰巧使用 maven,他们有一种非常简单的方法可以将类路径添加到 jar 生成的清单中。
maven 项目的所有依赖项都将添加到 Class-Path 条目中。
如果您选择使用 jar 程序,则可以根据上述链接中的示例对清单进行建模。
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: ${user.name}
Build-Jdk: ${java.version}
Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar
jar 程序(用于创建 jars)有一个 -m 条目,用于指定清单文件。
在此清单文件中,您可以使用 Class-Path 属性指定其他 jar 文件的位置。
见这里:http: //download.oracle.com/javase/1.3/docs/guide/jar/jar.html
我个人还没有尝试过,所以我不知道这会有多成功。
如果您担心这一点,您可能只想创建一个包含所有其他 jar 文件的大 jar 文件。我也不知道我是否会推荐这个解决方案。