我想知道是否有任何方法来指定我希望maven用作引用的主类,比如
mvn package -DmainClass=com.myMainClass不想修改pom或插件本身,只需将其作为参数发送,有什么想法吗?
发布于 2018-01-30 21:53:55
jar goal使用定义mainClass参数的org.apache.maven.archiver.MavenArchiveConfiguration类型定义一个mainClass参数。
但是archive参数没有一个允许在命令行执行中提供作为参数的值的User property。
请注意,允许将工件打包为JAR的maven-assembly-plugin不会更有帮助:archive参数也没有被定义为User property。
所以您没有选择的余地(至少在maven-jar-plugin中是这样):您必须在pom.xml中使用mainClass属性。
现在,如果有意义的话,您可以使用从命令行传递的自定义用户属性在pom.xml中使用此值动态: value pom.xml。
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<mainClass>${my.mainClass}</mainClass>
</manifest>
</archive>
</configuration>
...
</plugin>
</plugins>
</build>
...
</project>并执行:
mvn package -Dmy.mainClass=com.myMainClasshttps://stackoverflow.com/questions/48530887
复制相似问题