Filter
POM中可以配置一些properties,这些属性一般而言实在各种pom中使用,但也可以在一些配置文件中使用,例如
### pom文件配置
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/database?autoReconnect=true
myusername
mypassword
qa
com.mysql.jdbc.Driver
jdbc:mysql://qadb01:3306/database?autoReconnect=true
qauser
qapassword
production
com.mysql.jdbc.Driver
jdbc:mysql://pdb01:3306/database?autoReconnect=true
produser
prodpassword
## properties
driverClassName=${database.driver}
url=${database.url}
username=${database.username}
password=${database.password}
通过如上配置,默认情况下直接使用外层的properties属性,但也可以通过制定来更改为我们需要的配置
mvn clean install -Pqa/-Pproduction
通过编译之后,可以看到我们设置的变量替换为pom文件中的变量。
各种plugin
maven-antrun-plugin
maven-antrun-plugin,主要是用来从Maven内运行Ant任务的功能,甚至可以将Ant脚本嵌入到POM。这个插件不是提供污染POM的手段意图,因此它鼓励所有Ant任务移动到build.xml文件并使用Ant的POM调用它。这个插件的主要目的之一是方便从Ant基础项目迁移到Maven。
maven-antrun-plugin
validate
run
${PATH}=${env.PATH}
User's Home Directory: ${user.home}
Project's Base Director: ${basedir}
maven-clean-plugin
maven-clean-plugin最常用的maven插件,主要用于清理target文件等内容。
maven-resources-plugin
maven-resources-plugin用于替换资源文件中的占位符。
maven-install-plugin
maven-install-plugin用于安装jar包,将生成的jar文件复制到maven的本地仓库中。
maven-compiler-plugin
maven-compiler-plugin编译Java源码,一般只需要设置编译的JDK版本即可。
org.apache.maven.plugins
maven-compiler-plugin
3.6.0
maven-dependency-plugin
maven-dependency-plugin用于将依赖的jar包复制到指定的文件夹里去。
org.apache.maven.plugins
maven-dependency-plugin
2.10
copy-dependencies
package
copy-dependencies
${project.build.directory}/lib
maven-jar-plugin
maven-jar-plugin的主要作用是打包成可运行的jar,打包时制定manifest参数。
org.apache.maven.plugins
maven-jar-plugin
2.4
true
/data/lib
com.zhang.spring.App
maven-shade-plugin
maven-shade-plugin
用于把多个jar包,打成1个jar包。一般Java项目都会依赖其他第三方jar包,最终打包时,希望把其他jar包包含在一个jar包里
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
"org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
com.meiyou.topword.App
${maven.compile.source}
${maven.compile.target}
maven-surefire-plugin
maven-surefire-plugin主要使用来测试Maven项目的源码,能够兼容Junit3、Junit4以及TestNG等框架。默认情况下,maven-surefire-plugin的Test目标会自动测试源码路径下所有符合一组命名模式的测试类。
org.apache.maven.plugins
maven-surefire-plugin
2.5
**/*Tests.java
**/*ServiceTest.java
**/TempDaoTest.java
groovy-maven-plugin
groovy-maven-plugin主要是用于Maven编译Groovy源代码。
jruby-maven-plugin
jruby-maven-plugin主要用于ruby的源代码编译。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!