读书人

maven的应用

发布时间: 2012-07-19 16:02:19 作者: rapoo

maven的使用
附件中是《maven实战》前三章的电子版
maven用于项目管理。
主要常用的命令有 mvn clean,清除生成的类文件,即target文件夹下的classes文件
mvn compile,编译
mvn package,将项目打包为jar文件或其他压缩文件,具体由pom文件指定
mvn install,将jar包安装到本地库中,(默认在C盘的C:\Documents and Settings\用户名 下)
pom文件如下:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.juvenxu.mvnbook</groupId><artifactId>helloworld</artifactId><version>1.0-SNAPSHOT</version><name>Maven Hello World Project</name><dependencies>  //依赖于junit-4.8.2.jar包<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8.2</version><scope>test</scope> //如果在src文件夹下的java文件中import junit的类会出错,但如果在test文件夹下就不会出错。默认为compile范围,</dependency></dependencies><build><plugins><plugin> //用于执行,指定要执行的主类<groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>1.2.1</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.juvenxu.mvnbook.helloworld.HelloWorld</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build></project>


这样再执行mvn clean install,就会在target文件夹下生成两个jar文件,其中一个以original开头的,是没有指定MainClass的,另外一个是在meta-info文件夹下的MANIFEST.MF文件中指定了Main class。

再用java -jar命令就可以执行这个可执行的jar文件了

需要在maven的pom文件中添加如下的插件,才能保证在eclipse中可以正确的运行maven的命令:

<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<failOnError>false</failOnError>
</configuration>

</plugin></plugins>
</build>

解决maven项目中源文件的编码问题,在pom文件中的properties添加如下元素:
<project.build.sourceEncoding>GBK</project.build.sourceEncoding>
<project.reporting.outputEncoding>GBK</project.reporting.outputEncoding>

读书人网 >软件开发

热点推荐