在部署或发布到服务器时,如何让WTP在src / main / resources文件夹中排除Maven资源?例如,我创建了一些名为src / main / resources / qa和src / main / resources / prod的文件夹,在那里我有属性文件。我想将它们用于部署,但我不希望它们出现在WAR文件中。
通过向我的pom.xml添加资源节,我可以从Maven构建中排除这些文件夹(例如,当我运行mvn package
时),并且它们不会出现在我的WAR文件工件中。< / p>
但是,当我使用&#34; Debug As ..&#34;使用WTP让Eclipse管理并连接到我的本地Tomcat服务器,我可以看到WTP正在发布所有资源,包括我在本地Tomcat服务器中的排除文件夹。我已经看过wtpwebapp文件夹,即WTP正在使用的部署目标,当我从Eclipse服务器定义中删除了我的WAR工件时,它就消失了。然后,当我将项目添加回服务器时,排除的资源会找回。
我已尝试使用&#34; ** / qa /&#34;明确排除文件夹。和&#34; ** / prod /&#34;我的项目的Java Build路径中的条目在相应的源库上,事实上,使用mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0
重新创建Eclipse项目将自动为我添加构建路径排除项。当WTP发布时,他们似乎并没有被尊重。
答案 0 :(得分:0)
@格雷格,
要考虑的一个选择是让Maven而不是Eclipse WTP将WAR推送到服务器。
这可能需要权衡取决于Eclipse在幕后为您做的事情。
然后,您的桌面将更准确地反映您的CI构建中发生的事情。
无论如何,this guide详细解释了如何配置tomcat7:deploy
目标。
以下是建议的pom.xml
代码段,可帮助您入门:
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>redeploy</goal>
</goals>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/mkyongWebApp</path>
</configuration>
</execution>
</execution>
</plugin>
</plugins>