码迷,mamicode.com
首页 > 其他好文 > 详细

创建Maven工程

时间:2020-01-31 21:14:26      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:fir   mic   ring   不能   版本   global   unit   web   eclipse   

Eclipse中配置Maven

1.指定Maven核心程序的位

WindowPreferencesMavenInstallations  --(Installation home:D:\apache-maven-3.2.2)

2.指定settings.xml

Window→Preferences→Maven→User Settings --(Global Setting:D:\apache-maven-3.2.2\conf\settings.xml)

自动查找settings.xml中Local Repository:(D:\RepMaven)


 修改工程默认的JDK版本:

D:\apache-maven-3.2.2\conf\settings.xml下

<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>


 创建Maven项目

new→New Maven project(勾选Create a simple project,然后next)

→Artifact下(Group Id:com.atguigu.maven ; Artifact Id:MakeFriend,然后finish)


 导入 Maven工程:

如果第一次导入手动创建的Maven工程:

Import→Maven→Existing Maven Project(next)→Root Directory:直接选择工作空间(会自动扫描,勾选后,Finish)

导入后HelloFriend工程,目录:D:\SpringToolSuite\HelloFriend下

会多出:

.settings

.classpath

.project

如果导入通过Eclipse创建的Maven工程:

可以Import→General→Existing Projects into Workspace


 运行Maven工程

工程右键Run As,可选build:

1.Maven build

2.Maven build...

3.Maven clean --清理

4.Maven generate-sources

5.Maven install --安装

6.Maven test --测试

如果没有想要的命令:可以选择2.Maven build...,Main中(Goals:compile)点击Run


 解决项目测试乱码问题:

在当前项目的pom.xml文件中增加插件配置

<build>
<plugins>
<!-- 解决maven test命令时console出现中文乱码乱码 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.2</version>
<configuration>
<forkMode>once</forkMode><!--在一个进程中进行所有测试 ; 默认值:once -->
<argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>
</plugins>
</build>


 Maven项目依赖的范围

1) compile

[1]main目录下的Java代码可以访问这个范围依赖

[2]test目录下的Java代码可以访问这个范围依赖

[3]部署Tomcat服务器上运行时放在WEB-INFlib目录下

例如对Hello的依赖。主程序、测试程序服务器运行时都需要用到

2) test

[1]main目录下的Java代码不能访问这个范围依赖

[2]test目录下的Java代码可以访问这个范围依赖

[3]部署Tomcat服务器上运行时不会放在WEB-INFlib目录下

例如:对junit依赖。仅仅是测试程序部分需要。

3) provided

[1]main目录下的Java代码可以访问这个范围依赖

[2]test目录下的Java代码可以访问这个范围依赖

[3]部署Tomcat服务器上运行时不会放在WEB-INFlib目录下

例如servlet-api服务器上运行时,Servlet容器会提供相关API,所以部署的时候不需要

4)runtime

[1]main目录下的Java代码不能访问这个范围的依赖

[2]test目录下的Java代码可以访问这个范围的依赖

[3]部署到Tomcat服务器上运行时放在WEB-INF的lib目录下

其他importsystem等。


 Maven项目依赖的传递性

存在间接依赖的情况时,主工程间接依赖jar可以访问吗?要看间接依赖的jar包引入时的依赖范围——只有依赖范围为compile时可以访问


 Maven项目依赖的原则:解决jar包冲突

1) 路径最短者优先

 技术图片

2) 路径相同时先声明者优先

 技术图片

这里“声明先后顺序指的是dependency标签配置的先后顺序。


 

创建Maven工程

标签:fir   mic   ring   不能   版本   global   unit   web   eclipse   

原文地址:https://www.cnblogs.com/YUJIE666/p/12246448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!