【发布时间】:2014-10-19 13:13:34
【问题描述】:
我是一个 Maven 初学者,经过反复试验,我设法为发布 WAR 指定了与开发 WAR 相关的不同属性文件(我尝试以我能想到的最简单的方式来做,但是随意提出任何更简单的解决方案)。
因此,在开发过程中,我的database.properties 和log4j.properties 来自src/main/resources,而在生成发布WAR 时它们来自src/main/resources/release。
到目前为止,一切都很好。
问题是:因为我正在使用 Eclipse,有没有办法说,在 POM 中,src/main/resources/release 也是一个源文件夹,以便 Eclipse 将它列在其他源文件夹下在项目资源管理器中,即使其他开发人员在他的 IDE 中导入项目(即没有手动将该文件夹添加为源文件夹)?
这是我的 POM 的相关部分:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<war-name>/</war-name>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
...
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
...
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
...
</plugin>
</plugins>
</build>
<dependencies> ... </dependencies>
<profiles>
<profile>
<id>release</id>
<properties>
<war-name>ROOT</war-name>
</properties>
<build>
<resources><!-- Replace Maven default resources directory (this could probably be achieved with a property)-->
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources/release</directory>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
</build>
</profile>
</profiles>
【问题讨论】:
标签: java eclipse maven pom.xml