用 Java 编写了一个命令行程序,使用 Maven 作为构建系统,从那里开始将程序作为命令使用的推荐方法是什么?
假设程序名为 Foo。在 foo
目录中,我可以运行 mvn package
来生成 target/foo-1.0-SNAPSHOT.jar
,然后可以用 java -cp target/foo-1.0-SNAPSHOT.jar foo.Main %*
但该命令太长,用户无法键入。我需要了解在命令行中键入 foo
将运行该程序的地步。 mvn install
没有;它只是将 jar 复制到本地 maven 存储库。
将程序作为命令提供的推荐方法是什么?
最佳答案
您可以使用 Maven Assembler Plugin像这样:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<programs>
<program>
<mainClass>sandbox.Main</mainClass>
<id>app</id>
</program>
</programs>
</configuration>
</plugin>
运行mvn package
会在${project.build.directory}/appassembler
子文件夹的bin文件夹中生成一个windows(.bat)和unix shell脚本.
关于java - Maven 和安装命令行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53521272/