照葫芦画瓢系列之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项目是一款集成了很多数据操作的项目,其下 ...
随机推荐
- SpringAop实操之记录关键业务请求数据
AOP,中文名称,切面.在不影响业务代码情况下,实现想要的功能,是个真炫酷的事. aop是个好东西,记录日志是必须的. 记录数据也一样的,那么也是可以用aop来实现的,这里借助注解一起解决问题吧. 因 ...
- Impl模式实现之注意内联
最近学习muduo源码时,对于内联函数有了更深刻的认知. 内联(inline)在代码执行方面具有优势,但是有时使用不当,或者稍微不注意,就会造成编译错误. 以下将通过Impl实现说明一二: 头文件: ...
- 缓存日志截取字段上传FTP
#!/bin/bash awk '{print $3,$4,$5,$6,$9,$11,$12,$14,$15,$18}' /usr/local/tcacheserver/var/log/traffic ...
- leetcode — spiral-matrix
import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/spiral-matrix/ * * Created ...
- JavaScript基础——深入学习async/await
本文由云+社区发表 本篇文章,小编将和大家一起学习异步编程的未来--async/await,它会打破你对上篇文章Promise的认知,竟然异步代码还能这么写! 但是别太得意,你需要深入理解Promis ...
- MySQL模糊匹配查询like、regexp、in
MySQL提供标准的SQL模式匹配,以及一种基于像Unix实用程序,如:vi.grep和sed的扩展正则表达式模式匹配的格式 一.SQL模式(% ,_) SQL的模式匹配允许你使用“_”匹配任何单个字 ...
- 深入理解 Java 动态代理机制
Java 有两种代理方式,一种是静态代理,另一种是动态代理.对于静态代理,其实就是通过依赖注入,对对象进行封装,不让外部知道实现的细节.很多 API 就是通过这种形式来封装的. 代理模式结构图(图片来 ...
- 浅谈SpringAOP
0. 写在最前面 之前实习天天在写业务,其中有一个业务是非常的复杂,涉及到了特别多的表.最后测下来,一个接口的时间,竟然要5s多. 当时想写一个AOP,来计算处理接口花费多长时间,也就是在业务逻辑的前 ...
- MySQL/MariaDB表表达式(3):视图
视图是表表达式的一种,所以它也是虚拟表.对视图操作的时候会通过语句动态的从表中临时获取数据. 1.创建.修改视图 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED ...
- MySQL备份mydumper的原理【转】
本文来自:http://baiyangtx.net/2016/09/04/mydumper-principle/ 相对于MySQL官方提供的逻辑备份工具 mysqldump , mydumper最大的 ...