Maven 的使用


1.Maven 下载地址: http://maven.apache.org/docs/3.3.9/release-notes.html

下载解压,路径如:D:Toolsmavenapache-maven-3.3.9

2.设置环境变量

变量名:M2_HOME

变量值:D:Toolsmavenapache-maven-3.3.9
找到path

在环境变量值尾部加入:;%M2_HOME%in;

检查环境:

在命令行输入 mvn -v

3.修改仓库位置
新建路径如:E:/maven/repo

apache-maven-3.3.9conf目录下的setting.xml文件,

设置路径

<localRepository>E:/maven/repo</localRepository>

4. 创建maven项目 E:/maven下运行如下命令

mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0

5. 编译项目代码

在命令提示符下进入到我们的创建的项目目录(E:mavenhello)下,执行:mvn clean compile

6. 执行如下命令,才可以导入Eclipse

mvn eclipse:eclipse

7.问题补充。

我用的是MyEclipse,我的Maven库不在默认的地方,如何修改这个环境变量?

说明:安装完MyEclipse后,会自动有了M2_REPO环境变量,现在我想修改它,但是显示是"non modifiable","Edit"按钮是灰色的

修改Window->preferences->maven->user settings-> 在这里选择正确 的setting.xml的路径即可,完成后,M2_REPO的路径也会随着修改。

 参考

8. 创建web项目

命令如下:

mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=mywebapps  -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0 

 只是比普通项目多加一个参数DarchetypeArtifactId

定位到创建项目的目录下构建成eclipse项目:

 F:mywebapp>mvn eclipse:eclipse 

参考

 

9.常见问题

1)编码 GBK 的不可映射字符

编码 GBK 的不可映射字符
用记事本打开java源文件。
然后另存为,选择ANSI
覆盖即可

 

10、使用Maven打包

D:workspacemonitor_tuning>mvn clean package -Dmaven.test.skip

错误1:Fatal errorcompiling 无效的标记

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<!-- compile for Java 1.8 -->
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

  将环境变量设置为Java 8和工程设置的Java8保持一致

错误2: 程序包jdk.internal.org.objectweb.asm不存在

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<!-- compile for Java 1.8 -->
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
					<compilerArgs>
						<!-- 过期的方法的警告-->
						<arg>-Xlint:deprecation</arg>
					</compilerArgs>
					<compilerArguments>
						<!-- 是否输出所有的编译信息(包括类的加载等)-->
						<!--<verbose />-->
						<!-- 解决maven命令编译报错,因为rt.jar 和jce.jar在jre的lib下面,不在jdk的lib下面,
                        导致maven找不到(java7以后会出现这个问题),将这2个jar包拷贝到jdk的lib下面估计也好使-->
						<bootclasspath>${java.home}lib
t.jar;${java.home}libjce.jar</bootclasspath>
					</compilerArguments>
				</configuration>
			</plugin>

  最后生成war或者jar文件。

 

11、Scope含义

scope有以下几种

分类 含义
compile 默认compile。参与编译,测试,运行。打包的时候包进去。
test 仅参与测试,包括测试代码编译和执行。如junit
runtime 不参与编译,参与测试和运行
provided 打包的时候可以不包进去。别的设施(web container)会提供
system 和provided相同,不从maven仓库抓,从本机文件拿。一定会配合systemPath使用

 

 

 

 

 

 

 

 

 

12、Maven在Liunx下的安装

下载maven  wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip

解压: unzip apache-maven-3.6.3-bin.zip

 

原文地址:https://www.cnblogs.com/linlf03/p/5203042.html