如何创建引用classpath中其他jar的空jar文件

时间:2010-08-19 16:28:08

标签: java-ee jar classpath glassfish-3

HI,

我的j2ee应用程序依赖大量的jar,因此我想创建一个jar文件,其manifest属性引用classpath中的jar文件。 然后我将这个文件放在glassfish lib目录中,这样所提到的jar就会出现在应用程序的类路径中。

唯一的问题是我不知道如何创建这个单个jar文件。

建议?

问候

2 个答案:

答案 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条目中。

Adding a classpath via maven.

如果您选择使用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