照葫芦画瓢系列之Java --- Maven的集成和使用
一、和Eclipse的集成
1、添加Maven
在windows--> preferences中找到maven选项,如下图:

如果没有上图的Name为apache-maven-3.5.2的项,则需要点击右侧的Add按钮进行添加,配置如下:

2、修改配置文件
修改apache-maven-3.5.2安装路径下的settings.xml文件中的localRepository节点,修改为自定义的本地仓库路径,如下:
<localRepository>D:/Dev/Java/maven-repo/repository</localRepository>
D:/Dev/Java/maven-repo/repository为自定义的本地仓库路径地址
3、eclipse中更新配置文件
在eclipse中windows-->preferences,找到maven,然后如下图所示,找到User settings,修改配置文件为刚才修改的配置文件

修改完成之后,点击Apply按钮后,则和eclipse的集成完成。
二、Maven的使用
1、创建Maven项目
file -> new -> project,然后找到maven,如下图选择,

点击next

点击next

双击maven-archetype-webapp进入下一步,依次输入如下内容

点击finish完成maven项目的创建。
2、Maven的使用
mavendemo项目创建完成的目录结构如下图所示

其中pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件。
上图中index.jsp上的红叉是因为缺少servlet-api.jar包导致的,下面通过修改pom.xml文件来添加依赖;
a.双击pom.xml文件打开配置界面

IDE默认添加junit依赖包,点击add按钮后,在下图第一个红框中输入servlet后,下面的search result内列出所有匹配的结果,选中javax.servlet servlet-api这项,修改上图的Scope为provided(如果不修改,之后发布到tomcat时会与tomcat中的servlet-api.jar冲突)

点击Ok确定并保存,可以观察到index.jsp上的错误消失,如下图

同时项目目录结构中的Java Resources -> Libraries ->Maven Dependencies添加了servlet-api-3.0.jar,如下

后面的路径即为jar包在本地仓库的完整路径;
b.根据上图可以看到Libraries下的JRE System Library为J2SE-1.5版本,现在需要将其更新为本地安装的jdk的版本,过程如下:
点击pom.xml配置界面下的pom.xml tab标签,在build标签下添加如下内容:
<plugins>
<!-- 指定JDK版本和编码 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 指定Resources文件编码 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
保存修改;此时Libraries下的JRE System Library仍为J2SE-1.5版本。
鼠标右键点击mavendemo -> maven ->update project点击后发现Libraries下的JRE System Library已经为JavaSE-1.8版本。
项目结构中我们缺 src/main/java,src/test/java ,src/test/resources三个文件夹,现在我们来解决main/java missing的情况,解决办法:在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择eclipse配置的jdk就可以了。
c.手动添加jar包依赖
pom.xml文件中现有dependencies节点,里面配置的为当前已有的junit和servlet-api包的情况。如下
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
可以在dependencies下继续添加多个依赖的jar包;
照葫芦画瓢系列之Java --- Maven的集成和使用的更多相关文章
- 照葫芦画瓢系列之Java --- Maven的配置
一.Maven仓库分类 Maven中,仓库只分为两类:本地仓库和远程仓库.当Maven根据坐标寻找构件的时候,它首先去查看本地仓库,如果本地仓库有此构件,则直接使用,如果本地仓库不存在此构件,或者需要 ...
- 照葫芦画瓢系列之Java --- Maven的介绍和安装
一.Maven是什么? Maven 是一个项目管理工具.它负责管理项目开发过程中的几乎所有的东西. 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应用程序类型,对于每一种支持的应 ...
- 照葫芦画瓢系列之Java --- eclipse下使用maven创建Struts 2项目
一.创建Maven项目 http://www.cnblogs.com/zhanqun/p/8425571.html 二.添加struts2核心依赖包以及其他依赖项 打开pom.xm配置界面 点击Add ...
- jenkins+maven+docker集成java发布(二)#远程发布
jenkins+maven+docker集成java发布(一)中写了在Jenkins服务器自动部署业务,那需要将java项目部署到其他服务器怎么操作 这里需要依赖插件Publish Over SSH ...
- jenkins+maven+docker集成java发布(一)自动发布
JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...
- 【Java探索道路安全系列:Java可扩展的安全架构】一间:Java可扩展的安全体系结构开始
笔者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [ ...
- SonarQube和Maven的集成
1.1. SonarQube简介 SonarQube是一款免费用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量通过插件形式,可以支持包括java,C#,C/C++,PL/S ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
- SpringBoot系列之Spring Data Jpa集成教程
SpringBoot系列之Spring Data Jpa集成教程 Spring Data Jpa是属于Spring Data的一个子项目,Spring data项目是一款集成了很多数据操作的项目,其下 ...
随机推荐
- Rpc框架dubbo-server(v2.6.3) 源码阅读(一)
额,dubbo的前世今生咱就不说了,有用的人都知道.(最新版本已更名 incubator-dubbo,预计版本3.0,不过咱们就先不掺和别人的开发过程了,以v2.6.3为蓝本) 首先,是工作需要,用到 ...
- CoCos2dx开发:中文乱码
一.FontToUTF8()方法修改字体: 1.HelloWorldScene.h头文件中声明方法: char* FontToUTF8(const char* font); 2.HelloWorldS ...
- ajax实现异步前后台交互,模拟百度搜索框智能提示
1.什么是异步?在传统的网站项目中,填写一堆数据,最后点击提交,在点击提交的这一刻才实现数据提交,前后台交互.在你点击提交之前数据是没有提交到后台的.这样就会造成很大的不便.比如,我填了一大堆数据,结 ...
- List,泛型和Datatable 的相互转换
public static DataTable ToDataTableTow(IList list) { DataTable result = new DataTable(); ) { Propert ...
- ionic3 npm install cordova error syscall rename
突然出现cordova 不是内部或外部命令,也不是可运行的程序或批处理文件. 可是之前cordova安装后一直用的好好的啊,后来尝试重新安装cordova 出现这个错误.也尝试重新安装了最新版本的no ...
- 开发属于自己的Web服务器
本文基于.net core 的控制台程序作为服务端 main函数: class Program { static void Main(string[] args) { Console.WriteLin ...
- 用dos命令导出一个文件夹里面所有文件的名字(装逼利器)
首先,当然是在相关的文件夹打开dos命令窗口. 然后,输入如下命令:dir/b >a.txt 如果你非常了解dos命令,那么你一定会觉得这个东西简单到爆,而且我的理解和猜想都有些无知. 但如果你 ...
- final,finally,finalize有什么区别?String, StringBuffer, StringBuilder有什么区别?Exception和Error有什么区别?
继上篇JVM学习之后,后面将分三期深入介绍剩余JAVA基础面试题,每期3题. 题目一.final,finally,finalize有什么区别? /*请尊重作者劳动成果,转载请标明原文链接:*/ /* ...
- Unity教程之-UGUI美术字体的制作与使用
文章转载自:http://www.unity.5helpyou.com/3211.html 游戏制作中,经常需要使用各种花哨的文字或者数字,而字体库往往不能达到我们需要的效果,因此需要一种用图片替代文 ...
- 禁用feign retryer
为什么要禁用retryer?其实主要是为了Debug,禁用feign retryer有两面性,如果接口做好幂等性,retry不影响,但是总有一些意外发生,比如:有一个实例发生了故障而该情况还没有被服务 ...