照葫芦画瓢系列之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项目是一款集成了很多数据操作的项目,其下 ...
随机推荐
- axios的秘密
vue自2.0开始,vue-resource不再作为官方推荐的ajax方案,转而推荐使用axios. 按照作者的原话来说: “Ajax 本身跟 Vue 并没有什么需要特别整合的地方,使用 fetch ...
- java模式—装饰者模式
装饰者模式 1.意图: 动态地给一个对象添加一些额外的职责.就增加功能来说, Decorator模式相比生成子类更为灵活.该模式以对客 户端透明的方式扩展对象的功能. 2.适用环境 (1)在不影响其他 ...
- [Be a Coding Plasterer] Components 1:get Basic Things
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. Written In The Font I a ...
- centOS改编码
http://jingyan.baidu.com/article/ab69b270de8b4f2ca7189f1d.html cd /rootvim .bashrcLANG="zh_CN.G ...
- Unity3D中利用Action实现自己的消息管理(订阅/发布)类
引言 一般的软件开发过程中,为了方便对项目进行管理.维护和扩展,通常会采用一种MVC框架,以将显示逻辑.业务逻辑和数据进行分离. 这在传统企业软件的开发中很常见,但我在使用Unity做游戏开发的时候却 ...
- 【EF6学习笔记】(七)读取关联数据
本篇参考原文链接:Reading Related Data 本章主要讲述加载显示关联数据: 数据加载分为以下三种 Lazy loading 这种加载方式在于需要用到这个导航属性数据的时候,才会去数据库 ...
- vue-14-less 语法的使用
vue-15-rem-less 在计算手机端页面的时候, 使用rem和less的方式, 可以方便的设置需要的大小等 1, 在index.html中添加rem的script 代码 在head中添加 &l ...
- Centos创建ftp服务器
整理的ftp服务的笔记: http://services.linuxpanda.tech/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/ ...
- Python numpy中矩阵的用法总结
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...
- C 程序与 C++ 程序之间的相互调用
因为 C 编译器编译函数时不带参数的类型信息,只包含函数的符号名字.如 void foo( int x ) , C 编译器会将此函数编译成类似 _foo 的符号,C 链接器只要找到了调用函数的符号,就 ...