有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java MAVEN,如何基于环境删除JSP页面

我正在使用mvn clean install -Dlifecycle=dev构建一个war文件。所以我有变量lifecycle

现在我的要求是,当我为UAT/PROD创建构建文件时,它必须从包中排除一个jsp(index.jsp)。我的jsp位于webApps目录中,与资源平行

我认为,只对一个页面使用profile过滤不是个好主意

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    它从一个JSP开始。接下来是定制的CSS。然后不同的数据库属性

    个人资料是最好的选择。只需创建一个set its activation to the value of the variable,用JSP创建另一个源文件夹,并将其添加到概要文件中的资源中

    所以:

    • 在项目文件夹中创建一个src/dev/webapp文件夹(因此它与src/main/webapp并行)
    • pom.xml中添加配置war插件的配置文件

    <profiles>
        <profile>
            <activation>
                <property>
                    <name>lifecycle</name>
                    <value>dev</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>2.2</version>
                        <configuration>
                            <webResources>
                                <resource>
                                    <directory>src/dev/webapp</directory>
                                </resource>
                            </webResources>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    

    当变量lifecycle设置为dev时,这会将资源从src/dev/webapps复制到合并的目标文件夹中

    即使这些是相当多的XML行,用于复制单个文件,我认为在使用Maven时使用不同的方式(例如使用删除文件的插件)也不是一个好主意。虽然可以自定义Maven构建,使其不再可识别,但整个想法是使用约定,以便其他人可以轻松阅读该过程