我想知道ant
和java
:
我有一个Java项目,如下所示:
./
build.xml
src/
com/
example/
{.java files here}
bin/
com/
example/
{compiled .class files here}
lib/
{3rd-party jar files here}
dist/
{jar file(s) here}
我知道如何创建一个包含bin/
目录中的东西的.jar文件,并使用正确的清单使其运行我的主Java类。
如果可能,我想做的是创建一个.jar文件:
这可能吗?我似乎无法告诉Java使用.jar文件的bin /子目录作为类路径,我可能会以某种方式搞砸语法。
编辑好的,这听起来像是试图让一个对象服务于两个(太多)目的。我放弃了这种方法,而是创建一个标准的.jar文件作为可执行文件,并创建一个带有源的.zip文件(build.xml + src和lib目录)。这样有两个简单的下载,超过1个文件,但不是太糟糕。
答案 0 :(得分:4)
不,UrlClassLoader
总是尝试在根目录中查找类,而jar URL总是会根据jar文件的根目录获取条目。
你可以创建一个jar文件,其中包含来自root的二进制文件,但是src下的源文件等等。这不会太糟糕,假设你确实只有com
唯一的“根”包。
答案 1 :(得分:0)
您可以将您的项目放在公共SVN服务器上,并且只包括如何检查来源的说明 - 您也可以从其他人的签到和改进中受益(希望不是故意破坏) )。