在services-common项目中放置一些共享配置文件时,我们会将它从jar中排除。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources>
</build>
在其他项目(rest或ui)中我们使用maven-war-plugin来包含来自/ services-commons / src / main / resources的文件,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<webResources>
<resource>
<targetPath>WEB-INF/classes</targetPath>
<directory>../services-commons/src/main/resources</directory>
</resource>
</webResources>
</configuration>
</plugin>
当我们使用maven在命令行中构建时,这是有效的。
但是当我们在/ services-commons / src / main / resources中添加一个新文件时,我们将不得不在命令行中运行maven clean install,并运行tomcat clean,否则tomcat将不会获取新添加的文件。
这很麻烦,所以我想知道是否有更好的方法:我们可以将共享文件放在一个项目中,eclipse tomcat可以自动获取在常见项目中添加的新文件。
答案 0 :(得分:1)
您的问题是Eclipse无法识别您POM的那一部分,因此只有在从命令行运行maven时才会执行该部分。您可以尝试添加适当的M2E连接器(假设您已经安装了Maven Integration for Eclipse)。
m2e-wtp连接器(https://www.eclipse.org/m2e-wtp/)看起来像你需要的那样。您可以从Eclipse Marketplace安装它(或者默认情况下它与某些版本的Eclipse一起发布)。