Mavent——学Java不会Maven,怎么行archetypeCatalog=internal
Maven简介
Maven是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的
Maven的优点是:节省空间(将所有需要的jar包,全部存到本地仓库)

Maven中的文件,我们只需要关注settings.xml文件。
配置本地仓库的位置:

1、Maven的常用命令
clean 清除已经编译好的文件
Compile 编译了主目录的文件
Test 编译并运行了test目录的代码
Package 打包
Install 就是把项目发布到本地仓库
tomcat:run 一键启动(当配置了使用Tomcat7插件的时候,使用tomcat7:run启动)
2、新建项目
环境变量注意事项:


目录结构

3、导入包



为了避免:
已经出现了,解决:ex
4、引入插件

<build>
<finalName>HelloWorld</finalName>
<!-- 配置了很多插件 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<!--使用tomcat7:run运行-->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
5、依赖传递
只添加了一个struts2-core依赖,发现项目中出现了很多jar,这种情况 叫 依赖传递
6、解决依赖冲突
1、第一声明优先原则
<dependencies>
<!--由于引入了两个包,其中都依赖Spring-bean这个包。-->
<!--1、 第一声明优先原则:只引入第一声明的bean包(默认)-->
<!-- spring-beans-4.2.4 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<!-- spring-beans-3.0.5 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.24</version>
</dependency>
</dependencies>
2、路径近者优先原则
<dependencies>
<!-- spring-beans-4.2.4 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<!-- spring-beans-3.0.5 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.24</version>
</dependency>
<!--2、路径近者优先原则:优先引入自己添加的bean-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
</dependencies>
3、排除原则
<dependencies>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.24</version>
<exclusions>
<!--3、 排除原则:将org.springframework所依赖的bean包引入,将自己排除-->
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
</dependencies>
7、使用Maven搭建SSH项目

8、模块拆分

IDEA报错-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.[ERROR] Maven execution terminated abnormally (exit code 1)
一可能是jdk版本不匹配,二是在maven的runner选项上设置maven vm options:-Dmaven.multiModuleProjectDirectory=$M2_HOME
浙公网安备 33010602011771号