我正在使用mvn clean install -Dlifecycle=dev
. 所以我有变量lifecycle
。
现在我的要求是,当我为其创建构建文件时,UAT/PROD
它必须jsp(index.jsp)
从包中排除一个。我的 jsp 位于与资源平行的 webApps 目录中。
我认为profile
仅用于一页过滤并不是一个好主意。
感谢任何帮助。
它从一个 JSP 开始。接下来是自定义的 CSS。然后不同的数据库属性...
个人资料是要走的路。只需创建一个,将其激活设置为变量的值,使用 JSP 创建另一个源文件夹并将其添加到配置文件中的资源中。
所以:
src/dev/webapp
夹(因此它与 平行src/main/webapp
)pom.xml
配置战争插件的配置文件
<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>
当变量设置为时,这会将资源从src/dev/webapps
合并的目标文件夹复制到。lifecycle
dev
即使这些是用于复制单个文件的相当多的 XML 行,我认为在使用 Maven 时使用不同的方式(例如使用删除文件的插件)也不是一个好主意。虽然您可以自定义 Maven 构建以使其不再可识别,但整个想法是使用约定,以便其他人可以轻松阅读该过程。