一些常用的Maven Plugin配置
来源:互联网 发布:万众创新 大众创业知乎 编辑:程序博客网 时间:2024/04/29 14:22
原文地址:
http://blog.csdn.net/mcai4gl2/article/details/12147947
Maven是一个常用的Java build Manager, 使用Maven可以很好的对Java Project的dependency进行管理. 这里我记录几个比较常用的Plugin配置.
- 生成JAR打包文件:
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Class-Path>.</Class-Path>
- </manifestEntries>
- </archive>
- <excludes>
- <exclude>*.xml</exclude>
- </excludes>
- </configuration>
- </plugin>
这个打包文件将不会把一般的XML配置文件也打包, 这样, 我们可以在不修改JAR文件的情况下对配置文件进行修改. - 拷贝XML配置文件:这个plugin配置将把在src/main/resources文件夹下的配置文件都拷贝到target文件夹. 这种文件夹配置是IntelliJ下的默认配制.
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-resources</id>
- <phase>package</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>target</outputDirectory>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- 拷贝所有的Dependency JARs:这个plugin将拷贝所有的Dependency JARs到target/libs文件夹下, 这样只要添加这个目录到classpath下, 我们就可以在没有IDE的环境的情况下直接运行我们的程序.
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <outputDirectory>target/libs</outputDirectory>
- <overWriteReleases>false</overWriteReleases>
- <overWriteSnapshots>false</overWriteSnapshots>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- 生成运行文件:通过这个plugin配置, 我们将在target文件夹下生成一个叫runjetty.sh的文件来设置我们的classpath, 这样我们就可以通过这个脚本直接运行我们的程序了. 上面的这个例子是我在另一篇配置Jetty环境的文章中使用的, 整个的pom.xml配置文件可以在Github上找到.
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>manifest</id>
- <phase>package</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <tasks>
- <echo file="target/runjetty.sh">
- java -cp "libs/*:jettysetup-1.0-SNAPSHOT.jar" weblog.examples.jettysetup.JettyLauncher
- </echo>
- </tasks>
- </configuration>
- </execution>
- </executions>
- </plugin>
通过上面的4个简单的配置, 我们可以实现对我们的项目进行打包, 同时拷贝配置文件, 和Dependency JAR文件, 生成执行脚本, 这个打包有几个优势:
- 打包文件不包含配置文件, 这样我们可以很方便得对配置文件进行修改
- 打包文件不包含Dependency JARs, 由于这些JAR并没有打包在我们的project jar文件里, 当我们有多个项目打包文件的时候, 这些JAR将会被共享.
当然, Maven并不是我们可以用的唯一一个build management tool, 我们还可以使用Ant, Ivy或者最近很流行的Gradle.
0 0
- 一些常用的Maven Plugin配置
- 一些常用的Maven Plugin配置
- Maven Enforcer Plugin 定义一些必须遵守的配置
- 一些常用的Maven命令和配置
- jetty-maven-plugin的配置
- Maven的发布plugin配置
- Maven的发布plugin配置
- Maven的发布plugin配置
- Maven配置总结-常用配置(tomcat-maven-plugin)
- Maven零散笔记——常用配置(tomcat-maven-plugin)
- maven-常用plugin备忘
- maven war包的plugin配置
- maven-jetty-plugin插件的配置
- Maven建项目时的一些常用配置
- maven的一些配置
- maven的一些配置
- hibernate3-maven-plugin配置
- eclipse Maven plugin 配置
- 个VS编译器(cl.exe)命令行编译的例子
- Android 手势锁的实现 让自己的应用更加安全吧
- 并行fp-growth图解(mahout)
- 红外摄像机产品走势及市场现状分析
- coj-Checker Challenge
- 一些常用的Maven Plugin配置
- make menuconfig错误,需要安装ncurses-dev库文件
- sublime text2 常用快捷方式及常用快捷写法
- 程序员转销售第一单
- Reverse Words in a String
- 基于信号驱动式IO的监听套接字(O_ASYNC,O_NONBLOCK)
- POJ 2286 The Rotation Game 迭代搜索深度 + A* == IDA*
- 马士兵struts2视频教程第十集
- Linux下异步I/0:O_ASYNC标志,aio_read