在Hudson服务器(Windows机器)上部署我的应用程序时,我在调用java.exe时遇到问题,因为我的类路径太长了 - Windows会在一定长度后点击。
classpath
基本上是由分号分隔的数百个Jar
个文件
如果在类路径中明确列出了每个jar,则假设以下类路径太大:
<path id="classpath.project">
<fileset dir="lib" includes="**/*.jar" />
</path>
我可以在蚂蚁中做些什么来缩短我的课程路径?
答案 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现在将使用清单来查找所有其他罐子。