为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的内容