标签:maven
pom.xml配置详解
groupId,artifactid,version这三个属性定义了项目的基本坐标。
groupId:定义了项目属于哪个组,往往和项目所在的组织和公司有关
artifactId:定义了当前Maven项目在组中的唯一ID
version:指定了项目的当前版本
配置如下:
<groupId>com.jader</groupId>
<artifactId>redis</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>spring for redis</name>
<url>http://maven.apache.org</url>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
关于scope的说明:
scope指定依赖范围,若依赖范围为test说明只对测试代码有效。也就是说在测试代码中import Junit代码是没有问题,如果没主代码中import Junit就会编译报错。如果不声明依赖范围,默认值是compile,表示依赖对主代码和测试代码都有效。
编译测试代码编写
在项目根目录下运行:mvn clean compile clean告诉maven清理输出目录target/,compile告诉maven编译项目主代码。具体的执行过程是:maven首先执行了clean:clean任务,删除target/目录。默认情况下Maven构建的所有输出都在target目录中,接着执行resources(未定义项目资源,暂且略过),最后执行compile任务。将项目主代码编译至target/class目录。
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
<version>2.1</version>
</plugin>
Maven在执行compiler:compile(testCompile)命令时候会加载,如果版本过低会编译出错。
打包和运行
mvn clean package进行打包
打成jar包之后,就可以复制到其他项目的classpath下而直接使用jar包中的类。但是如果才能让其他maven项目直接引用这个jar包,还需要一个安装步骤:
mvn clean install
该任务将项目输出的jar安装到Maven本地仓库中。
根据上述命令打成的jar包(包含main方法)是不能直接运行的,因为带有main方法的类的信息不回添加到manifest中(打开jar文件中的META-INF/MANIFEST.MF文件将无法看到Main-Class一行)。为了生成可执行jar文件,需要借助maven-shade-plugin
当我们用Eclipse新建一个Maven项目的时候,右击项目
如下图所示:
我们把Maven命令写到Goals下。
下面介绍几个常用的在Goals配置的例子:
tomcat:deploy 部署一个web war包
tomcat:reload 重新加载web war包
tomcat:start 启动tomcat
tomcat:stop 停止tomcat
tomcat:undeploy 停止一个war包
tomcat:run 启动嵌入式tomcat,并运行当前项目
在使用上述命令之前,首先需要Maven集成了tomcat的tomcat-maven-plugin插件,在pom.xml中的配置如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
<version>2.1</version>
</plugin>
</plugins>
</build>
标签:maven
原文地址:http://blog.csdn.net/fuyuwei2015/article/details/45980457