`

Maven实战学习笔记(一)

阅读更多
<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实战学习笔记.zip

    读书笔记:maven实战学习笔记

    Maven实战学习笔记

    Maven实战的笔记,通读了Maven实战这本书之后,结合自己的经验,提取了其中大部分使用的操作以及使用经验。采用md编写文档,使用markdown编辑器查看效果更佳

    读书笔记:Maven 实践学习按理阅读《Maven实战》笔记。.zip

    读书笔记:Maven 实践学习按理阅读《Maven实战》笔记。

    Maven3实战笔记(整合)

    从给定的文件信息来看,标题与描述都指向了“Maven3实战笔记(整合)”,这表明文档主要聚焦于Maven3的实践应用与整合经验分享。Maven是Apache软件基金会维护的一个开源项目,是一个项目管理和综合工具,主要用于Java...

    Maven3实战笔记(全)

    《Maven3实战笔记(全)》是一本全面深入介绍Maven3的实践指南,由一位具有独特风格的作者撰写,以其风趣幽默的方式解析了Maven3的各种核心概念和使用技巧。这本书涵盖了从Maven的基础安装与配置,到复杂的仓库依赖...

    读书笔记:maven实战学习.zip

    读书笔记:maven实战学习

    Maven3 学习笔记

    【标题】:“Maven3 学习笔记” 在软件开发领域,Maven 是一个非常重要的构建工具,尤其在Java世界中占据着主导地位。Maven3 是 Maven 的第三个主要版本,它增强了性能,提升了用户体验,并引入了更多现代化的构建...

    读书笔记:Maven实战学习代码.zip

    读书笔记:Maven实战学习代码

    maven_实战_学习笔记

    maven_实战_学习笔记 Maven安装 Maven 使用入门 主代码 位置:src/main/java 命令:mvn clean compile 解释:clean告诉maven清理target目录 compile告诉maven 编译项目主代码 测试代码 位置:src/test/java 命令...

    Maven3实战笔记.pdf

    标题中提及的“Maven3实战笔记”指向了Maven这款流行的Java项目管理和自动化构建工具的第三个主要版本。Maven自从引入以来,就极大地简化了Java项目的构建过程,提高了项目构建的标准化程度。它使用项目对象模型...

    读书笔记:《Maven实战》学习.zip

    读书笔记:《Maven实战》学习

    读书笔记:《Maven实战》学习例子.zip

    读书笔记:《Maven实战》学习例子

    Maven中文开发指南+实战教程+学习笔记

    **Maven实战教程** 1. **创建新项目** - 使用`mvn archetype:generate`命令创建一个新的Maven项目。 - 选择合适的archetype模板,根据提示输入项目信息。 2. **项目构建与调试** - 使用`mvn install`命令将项目...

    Maven入门实战笔记02-基础(2)

    总的来说,"Maven入门实战笔记02-基础(2)"很可能是对Maven基础操作的深入讲解,涵盖了项目创建、POM配置、依赖管理、生命周期和构建过程等内容,对于想要学习和掌握Maven的Java开发者来说,是一份非常实用的学习资料...

    Maven3实战笔记02项目需求和模块分析

    在Maven3的实战学习中,第二部分着重于项目需求分析与模块划分,这是构建大型、复杂项目时的基础工作,能够帮助开发者更好地理解项目架构,合理分配资源,提高开发效率。 #### 项目需求分析 项目需求分析是软件...

    尚硅谷Maven课程笔记代码资源

    【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并熟练运用Maven进行自动化构建。该资源包含课件、源码和相关的笔记,使得学习过程更加...

    读书笔记:学习maven实战的一些工程.zip

    读书笔记:学习maven实战的一些工程

    读书笔记:用于学习maven实战所创建的项目.zip

    读书笔记:用于学习maven实战所创建的项目

Global site tag (gtag.js) - Google Analytics