使用包含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中加载类,除非你要采取特殊的预防措施并编写自定义类加载器。
上一篇: creating an executable jar file with ant which includes the build.xml file
下一篇: Create a eclipse project using existing ant build.xml file