【问题标题】:how can i use maven tomcat plugin for two different environment?我如何在两个不同的环境中使用 maven tomcat 插件?
【发布时间】:2011-09-15 15:04:16
【问题描述】:
在我的 tomcat 项目中,我有一个配置文件夹,路径为 src/main/tomcatconf。
现在我想部署到 2 个不同的服务器。一个开发服务器和一个生产服务器。
我使用 mvn tomcat:run 运行我的开发服务器。即时运行我的服务器,一切正常。
现在我想添加生产服务器,使用不同的配置文件夹(即src/main/production/tomcatconf)并在我的文件系统中的Tomcat实例上部署.war(即/opt/tomcat6)
使用 mvn tomcat:deploy 命令。
我该怎么做?
【问题讨论】:
标签:
tomcat
deployment
configuration
maven
profile
【解决方案1】:
最后我使用了配置配置文件的 maven 资源插件。
我已经制作了两个额外的文件夹:
src/main/生产
src/main/开发,
然后我将 Meta-inf/persistence.xml 移动到这些文件夹中。
然后我在我的 pom.xml 中添加这部分配置:
<profiles>
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>environment.type</name>
<value>dev</value>
</property>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/development</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<id>production</id>
<activation>
<property>
<name>environment.type</name>
<value>prod</value>
</property>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/production</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
以这种方式,我有一个公共资源文件夹和一个基于环境类型的附加文件夹。
现在当我跑步时
mvn tomcat:run -Denvironment.type=dev
我使用我的开发环境,当我运行时
mvn tomcat:run -Denvironment.type=prod
我使用我的生产环境。
这种方法的唯一缺点是每次我想更改环境类型时都必须运行
mvn clean 构建正确的配置文件。
如果您认为我错了或者您想提出另一种解决方案,请告诉我
问候
安东尼奥·穆塞拉