<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.0 http://maven.apache.org/maven-v4_0_0.xsd"> <!-- POM的模型版本,对于Maven2和Maven3来说它只能是4.0.0 --> <modelVersion>4.0.0</modelVersion> <!-- 定义当前Maven项目隶属的实际项目(类似于包的作用,一般命名为:组织或公司+项目名称) --> <groupId>com.juvenxu.mvnbook</groupId> <!-- 定义实际项目中的一个Maven项目(模块)--> <artifactId>hello-world</artifactId> <!-- 定义Maven项目当前所处的版本 --> <version>0.0.1-SNAPSHOT</version> <!-- 定义Maven项目的打包方式(jar、war) --> <packaging>jar</packaging> <!-- 声明一个对于用户更为友好的项目名称,非必须项 --> <name>hello-world Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 下面为本项目所依赖的jar --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <!-- scope为依赖范围,若依赖范围为test则表示改依赖只对测试有效。 如果不声明依赖范围,那么默认就是compile, 表示改依赖对主代码和测试代码都有效 --> <scope>test</scope> </dependency> </dependencies> <build> <finalName>hello-world</finalName> <plugins> <plugin> <!-- 编译的java版本 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <!-- 配置单元测试相关信息 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.10</version> <configuration> <!-- 忽略单元测试 --> <skipTests>true</skipTests> </configuration> </plugin> <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> <!-- 将打的包中添加main方法所在的类,进行java -jar XXX.jar运行 --> <transformer implementation="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 compile //清除并编译 mvn clean test //清除并执行单元测试 mvn clean package //清除并进行打包 mvn clean install //清除并进行安装 执行测试前,它会自动执行:主资源处理、主代码编译、测试资源处理、测试代码编译等 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project hello-world: There are test failures. 解决方法:打包跳过测试有两种方法 1、是命令行,mvn clean package -Dmaven.test.skip=true 2、是写入pom文件, <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.2</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> Maven compiler插件默认只支持编译java1.3 生成项目骨架 //maven3使用该命令(自动下载最新版本最稳定archetype版本) mvn archetype:generate //maven2使用该命令(指定版本进行下载) mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:generate classifier:定义构建输出的一些附属构件。不能直接定义项目的classifier, 因为附属构件不是项目直接默认生成的,而是由附件的插件帮助生成。 groupid、artifactId、version是必须定义的,packaging是可选的(默认是jar),而classifier是不能直接定义的。 构件的文件名规则:artifactId-version[-classifier].packaging --!>
Maven实战学习笔记(一)
猜你喜欢
转载自zhang964761032.iteye.com/blog/2095751
今日推荐
周排行