maven之pom

记录一下最近的pom的相关设置,plugin的官方地址配置:http://maven.apache.org/plugins/index.html

看了网上说了很多例子,有很多不清楚,看一下官方的,会有新的发现:

1、修改plugin的配置之后,项目出现“x”的错误提示,看一下problems,说是project up to date之类,这个时候就是提示我们应该更新configure

  右键工程-》maven4myeclipse-》update project configure,如图:

  

2、我们打包的时候,测试目录的处理,一种可以直接跳过;另外一种是设置忽略错误(相当于执行了我们的测试代码);最后一种是比较细腻的,可以设置XX方法不被执行,如下:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-surefire-plugin</artifactId>
	<configuration>
		<!-- 跳过测试 -->
		<skip>true</skip> 
		<!-- 设置xx方法不被执行,**代表任意目录,*代表任意字符
		<excludes>
			<exclude>**/*Test.java</exclude>
		</excludes>
		 -->
		<!-- 测试代码错误忽略 
          <testFailureIgnore>true</testFailureIgnore>
          --> </configuration> </plugin>

3、打包的时候不希望某些文件被打包进去,可以如下设置:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-war-plugin</artifactId>
	<version>2.6</version>
	<configuration>
		<packagingExcludes>WEB-INF/classes/doc/**</packagingExcludes>
	</configuration>
</plugin>

路径是target里面项目的路径,这里注意一下,为啥这么说呢?假如你的工程里面删除了某个文件,记得把target目录下的工程删除重新生成(clean),否则打包的文件还包含自此文件,war包是根据target下的工程打包的  

 4、如果在pom文件中定义了一些变量想在后面的.properties之类的文件中引用,则可以用resource的方式进行制定要扫描的路径,2中方式:

第一种

<project ...>
     ...
     <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       ...
     </properties>
     ..
    </project>

第二种

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          ...
          <encoding>UTF-8</encoding>
          ...
        </configuration>
      </plugin>
    </plugins>
    ...
  </build>

两种方式并存的话,会优先插件的方式(第二种)

有时候我们工程中有excel模板发布之后是乱码,就是因为类似这种二进制文件在资源目录下,他会去扫描所有的resource文件,二进制文件被破坏造成的,这时候可以exclude即可

 

posted @ 2015-03-20 15:51  小An  阅读(181)  评论(0)    收藏  举报