我有一个Java命令行应用程序,并且想要创建一个Ant *构建脚本,该脚本将创建所有必需的批处理/ shell脚本以成功运行应用程序,包括所有类路径变量。我需要它来做以下事情:
我只找到了部分回答here。
但是我没有发现任何能够完成每个构建所涉及的基本和微不足道的任务。
免责声明 - 最初的问题是Ant / Maven,但我更愿意看看是否可以在Ant中完成。
答案 0 :(得分:10)
在Maven中,最好的解决方案是maven-appassembler-plugin,它处理shell脚本/批处理文件的创建。结合maven-assembly,您可以创建一个tar.gz或zip存档,其中包含所需的所有内容。
答案 1 :(得分:3)
Maven知道dependency:build-classpath
目标,它完成了大部分肮脏的工作:
mvn dependency:build-classpath -DoutputFile=cp.txt
您可以在shell脚本中使用此生成的文件来创建java类路径(我知道,它并不多,但它可以让您入门)。
或者您可以使用exec-maven-plugin从当前maven上下文中启动主类。这样的事情会做:
mvn compile org.codehaus.mojo:exec-maven-plugin:1.2:java \
-Dexec.mainClass=com.yourcompany.YourClass
答案 2 :(得分:1)
一种方法是为Java应用程序使用二进制可执行构建器。其中一些可以通过提供的ant任务从ant启动。
例如,exe4j可以为命令行应用程序创建可执行文件,并支持Windows,Linux和Mac。可执行文件包装Java代码,其类路径和JVM搜索路径。自定义ant任务“com.exe4j.Exe4JTask”支持从exe4J配置生成可执行文件 - 可以使用友好的向导创建。
答案 3 :(得分:1)
Apache commons Launcher为您创建启动脚本。将生成Windows和Linux脚本。它也可以与Ant集成。
我希望它会帮助别人。