maven之pom

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

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

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

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

  maven之pom

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即可

上一篇:(转)linux IO 内核参数调优 之 参数调节和场景分析


下一篇:python写入csv文件的几种方法总结