有什么关于缩短ant中类路径的技巧?

时间:2011-09-02 14:08:02

标签: java ant classpath

在Hudson服务器(Windows机器)上部署我的应用程序时,我在调用java.exe时遇到问题,因为我的类路径太长了 - Windows会在一定长度后点击。

classpath基本上是由分号分隔的数百个Jar个文件

如果在类路径中明确列出了每个jar,则假设以下类路径太大:

<path id="classpath.project">
    <fileset dir="lib" includes="**/*.jar" />
</path>

我可以在蚂蚁中做些什么来缩短我的课程路径?

2 个答案:

答案 0 :(得分:5)

由于Java 6支持wildcards in the classpath。具体来说,它支持使用*来引用给定目录中的所有jar文件(注意: *.jar!):

使用*作为类路径意味着“当前目录中的所有jar文件”并使用lib/*表示“目录lib/中的所有jar文件”。

除非您有目录,否则这应该足够了。但是,我不知道如何利用Ant的这一事实。

答案 1 :(得分:4)

你可以google for OneJar。 如果你想自己做,那么生成一个只有清单的“空”jar文件。添加一个“Class-Path:a.jar,another.jar,bla-blub.jar”行,其中包含清单所需的所有罐子。 (谷歌的“清单类路径”)(可以用蚂蚁完成) 如果所有罐子都被部署了,通常你现在只需要类路径上的“空”jar文件,因为JVM现在将使用清单来查找所有其他罐子。