我希望为定义特定属性的模块拥有一个通用的构建配置文件。在我的情况下,我正在运行jar-with-dependencies
插件,希望仅在模块定义了main.class
属性时才运行。
我在父POM中有以下内容:
<profiles>
<profile>
<id>executable-jar</id>
<activation>
<property>
<name>main.class</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>${main.class}</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
除非我在运行Maven命令时定义了
-Dmain.class
,否则它将不会构建,因此看起来它没有检测到模块中重要的属性。这可以触发吗?