为Maven项目配置多个源文件夹 [url]http://casheen.iteye.com/blog/540385[/url]
资源文件引用:
[b]1、maven默认系统的资源文件[/b]在src/main/resources下,[color=red]在执行mvn process-resources的时候会将此文件夹下的东西全部拷贝到classes文件夹下,同时对文件中含有${}中的值进行引用赋值[/color]
以下操作基于如下命令行的操作:mvn archetype:create -DgroupId=com.test -DartifactId=my-app -Dversion=1.0 -DpackageName=com.test-->cd my-app
[b]2、在resources文件夹下的资源文件如何引用pom.xml以及settings.xml里面的东西 [/b]
创建资源文件:src/main/resources/application.properties文件,在下面添加如下引用
${pom.name} 将引用pom.xml中的<name>my-app</name>
${pom.version} 将引用pom.xml中的version>1.0-SNAPSHOT</version>
${settings.localRepository} 将引用settings.xml中的<localRepository>F:\repository</localRepository>
同时在pom.xml中添加如下代码:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
执行 mvn process-resources,然后查看target/classes/application.properties的内容
[b]3、在resources文件夹下的资源文件如何引用外部属性文件[/b]中的配置:
创建src/main/filters/filter.properties,内容如下:
tools=maven
在src/main/resources/application.properties资源文件中引用:
message=${tools}
同时在pom.xml中添加如下配置:
<build>
<filters>
<filter>src/main/filters/filter.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
执行 mvn process-resources,然后查看target/classes/application.properties的内容
[b]4、如果不想增加外部资源文件[/b],可以将所需要的属性添加到pom.xml文件中,然后在resources文件夹下的资源文件引用
pom.xml中添加如下:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<properties>
<my.filter>filter</my.filter>
</properties>
在src/main/resources/application.properties资源文件中引用:
${my.filter}
执行 mvn process-resources,然后查看target/classes/application.properties的内容
[b]5、在resources文件夹下的资源文件如何通过命令行进行赋值:[/b]
在src/main/resources/application.properties资源文件中引用:
command.line.prop=${command.line.prop}
执行mvn process-resources "-Dcommand.line.prop=hello again",然后查看target/classes/application.properties的内容