首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven POM多环境特性

Maven POM多环境特性
EN

Stack Overflow用户
提问于 2016-07-07 19:42:17
回答 0查看 108关注 0票数 1

这是我的旧POM中的<build>标签,它正在工作:

代码语言:javascript
复制
<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>标签):

代码语言:javascript
复制
<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是个新手...谢谢!

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38244581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档