HI,
我的j2ee应用程序依赖大量的jar,因此我想创建一个jar文件,其manifest属性引用classpath中的jar文件。 然后我将这个文件放在glassfish lib目录中,这样所提到的jar就会出现在应用程序的类路径中。
唯一的问题是我不知道如何创建这个单个jar文件。
建议?
问候
答案 0 :(得分:0)
jar程序(用于创建jar)有一个-m条目,用于指定清单文件。
在此清单文件中,您可以使用Class-Path属性指定其他jar文件的位置。
见这里:http://download.oracle.com/javase/1.3/docs/guide/jar/jar.html
我个人没有试过这个,所以我不知道这会有多成功。
如果您担心这一点,您可能只想创建一个包含所有其他jar文件的大型jar文件。我不知道我是否会推荐这个解决方案。
答案 1 :(得分:0)
你所描述的应该可以正常工作。当加载一个jar的manifest.mf中有一个Class-Path条目时,所有引用的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