使用包含build.xml文件的ant创建一个可执行的jar文件

我试图用ant来构建应用程序,运行应用程序的main()方法,运行junit测试,并将所有内容都打包到jar文件中(source + build + libraries + build.xml)。 这些类包含一个带有main()方法入口点的runner类。

然而,目标是包含所有使用的库,如junit.jar和ant build.xml本身。

我想知道是否有一种可执行jar文件的方式来运行ant构建文件itslef的选定目标,而不仅仅是main()方法。 显然,我不需要再次运行编译目标,而只需要运行main()方法(运行目标中的java元素)和junit目标。 那可能吗?

非常感谢您的洞察力!


“可执行的jar”不是你想象的那样。 它允许你将所有的类包装在一起(你也可以添加源代码,虽然我看不到这点),并在jar清单中使用Main-Class属性声明一个主类。 细节在这里。

然后,您可以使用“ java -jar my.jar ”命令行来启动该jar,该命令行将调用您指定的类的main()方法。 您还可以在清单文件中通过Class-Path属性指定classpath,以指向应用程序所需的其他jar。 这并不意味着这些罐子被存档在你的罐子里; 事实上,如果你这样做,JVM将无法从这些jar中加载类,除非你要采取特殊的预防措施并编写自定义类加载器。

链接地址: http://www.djcxy.com/p/44387.html

上一篇: creating an executable jar file with ant which includes the build.xml file

下一篇: Create a eclipse project using existing ant build.xml file