Maven实战——Maven入门

来源:互联网 发布:淘宝宝贝销量查询 编辑:程序博客网 时间:2024/04/30 23:27

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> 
0 0
原创粉丝点击