这是我的旧POM中的<build>标签,它正在工作:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<wtpversion>2.0</wtpversion>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.2</version>
</plugin>
</plugins>
<finalName>test</finalName>
</build>现在我想有3个不同的api.properties文件为每个阶段:生产,开发,测试。因此,我继续学习maven的<profile>教程。这就是我在生产和测试阶段的结果(完全去掉了旧的<build>标签):
<profiles>
<profile>
<id>test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<tasks>
<delete file="${project.build.outputDirectory}/api.prod.properties" />
<delete file="${project.build.outputDirectory}/api.dev.properties" />
<copy file="src/main/resources/api.test.properties"
tofile="${project.build.outputDirectory}/api.properties" />
</tasks>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<wtpversion>2.0</wtpversion>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.2</version>
</plugin>
</plugins>
<finalName>test</finalName>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<tasks>
<delete file="${project.build.outputDirectory}/api.test.properties" />
<delete file="${project.build.outputDirectory}/api.dev.properties" />
<copy file="src/main/resources/api.prod.properties"
tofile="${project.build.outputDirectory}/api.properties" />
</tasks>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<wtpversion>2.0</wtpversion>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.2</version>
</plugin>
</plugins>
<finalName>test</finalName>
</build>
</profile>
</profiles>然而,这并不能真正起作用。将只生成一个.war,而不是我想要的3个.war (test-prod.war,test-dev.war,...)生成的war将包含所有3个.properties文件,而不是它应该包含的文件。为什么?我能做些什么来修复它?我对maven是个新手...谢谢!
https://stackoverflow.com/questions/38244581
复制相似问题