在eclipse中新建Maven Web项目
很多时候开发效率低下,大部分原因是IDE环境不熟悉、配置不会配置;因此在学习一项技能之前,有必要对基本的环境配置有所了解,正所谓磨刀不误砍柴工。这篇文章主要针对初次接触Maven,不熟悉配置的研究人员。
Maven配置及介绍
以前开发Java Web工程时,需要导入很多依赖包,但是随着工程逐渐变大,所管理的包越来越多,有必要使用工具来管理这些包,这样不需要我们手动导入;Maven就是为了解决管理jar的问题。如下,一个经典的导入springmvc依赖的配置。通过三个坐标值,定位到我们所需的依赖包。
下面介绍如何配置Maven:
1)下载Maven
http://maven.apache.org/download.cgi 官网下载apache-maven-3.5.0-bin.zip,到本地目录,然后解压,比如放到E:JavaWeb目录下。
2)配置Maven环境变量
这个网上很多教程,与配置Java环境变量是一样的。配置好之后在命令行窗口输入 mvn -v:如果显示maven的版本,证明环境变量配置成功;
3)Maven基本配置
将maven目录下conf-->settings.xml文件拷贝到,C盘-->用户-->.m2文件夹下。
为什么这么做呢?有两个原因,1. eclipse默认加载maven配置是加载这个路径下的settings文件;2.这样配置之后如果后期更新maven的版本不需要修改配置。如下图所示,第二个是默认下载的包存在哪个地方,也就是本地仓库。
配置settings.xml文件。这样基本的配置就完成了。
4)使用命令新建与发布Web工程
进入我们想要新建工程的目录,这里是E:JavaWebeclipse-neonworkspace。中间有提示信息,点回车即可,如果出现错误,很大一部分原因是因为镜像配置错误,没法下载依赖包,搜索错误内容查找解决方案。如果最后提示BUILD SUCCESS证明新建成功。
这跟用eclipse新建是一样的,可以用eclipse导入测试,如果导入eclipse之后出现下面的错误。
这是因为没有添加Tomcat Server的运行环境:右键点击工程,选择configbuildpath然后按照下图选择;添加完之后,修改一下文件内容再保存,让他重新加载一下。
Eclipse中新建Maven Web项
上面介绍了,使用命令来新建Maven Web工程,可以看到一个标准的Web工程如下:
my-web-app是工程名:
如果是从myeclipse转过来的开发者,可能不太适应,但是这没有关系,代码组织的一种形式;真正发布到Tomcat上之后跟使用Myeclipse新建的WebRoot发布是一样的效果:
要想在eclipse中新建Maven项目,首先需要几个基本的配置:
1)设置我们自己安装的Maven路径
两个地方,Installations和User settings,User settings里面配置我们.m2下面的settings.xml文件,以及本地仓库地址,默认就是在C盘用户目录下:
2)新建项目
网上好多教程;照着来就可以了,但是需要注意几点:
(1)新建的时候选择:
(2)右键项目-->属性,在这里可以修改几个地方;
Runtimes选中,然后Java版本改为1.8的版本,Dynamic Web Module可以去掉,点击apply;然后再勾上Dynamic Web Module这时候改为3.0,就会出现进一步配置的蓝色连接,点进去,修改里面Content directory为src/main/webapp,并将Generate...勾选,单击OK。
(3)右键项目-->Build Path-->Config Build Path。可以把缺失的文件夹给加上。
3)配置项目
点开pom.xml文件添加基本的servlet与junit依赖。
点开web.xml文件,由于此文件是自动生成的,没有头部;可以现搜最新的模板使用,也可以用下面的:
4)下面配置插件用以发布Maven项目
首先在pom.xml文件中加入下面的代码:build标签与dependencies并行,打一个<点击alt+/会有标签提示。
配置Tomcat。
如果出错:
可尝试将将Eclipse中jre改一下,window--Preferences--java--Installed JREs,选择jdk目录下的jre后点OK即可。如果报未授权的错误,可能是两个地方的配置用户名密码不对应:user。最后访问:
总结
在接触Maven之前总是抵触,总钟情于手工导包的方式,其实还是自己遇到错误总是躲避,静不下心来去处理;网上的好些教程千篇一律,但是就是版本不一样,侧重点不同,会导致解决不了我们的问题;总之就是静下心来寻找解决方案。
1)配置maven时mirror要配置正确,不然会报各种插件找不到的错误。
2)使用eclipse时主要就是Properties里面和config build path里面进行配置。
3)配置插件是密码要对应起来。
总结一下解决问题要注意的地方:
1)要会搜,两方面搜索,其一搜你这个问题怎么解决,其二搜日志错误信息,搜的内容质量也良莠不齐,要学会选择!
2)平时多看博客论坛,多帮助别人解决问题,积累相关的技术圈,问题解决圈,等到真正发生bug时能够快速定位问题所在!
3)要了解不同的IDE,这个出问题,可以换另一个;
工欲善其事必先利其器,开发环境是很有必要熟悉的!
eclipse新建一个maven项目
如何用Eclipse创建一个Maven项目
1.什么是Maven
Apache Maven 是一个项目管理和整合工具。基于工程对象模型(pom)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建、报告和文档。
Maven工程结构和内容被定义在一个 xml 文件中——pom.xml,是 Project Object Model (POM) 的简称,此文件是整个 Maven 系统的基础组件。
2.为什么要用Maven
当我们创建一个Maven项目后,就不需要再自己去导入各种jar包了,将要导入的jar包依赖信息配置在pom.xml中,Maven项目会根据具体的配置自动地在编译、测试和运行的时候,从本地仓库中导入相应的各种依赖。
这样做有两个最大的好处,一个是项目的依赖被统一管理,不容易出现依赖冲突(比如说jar包引入的版本冲突);另一个就是项目的体积变小了,毕竟一个稍微大些的项目光是引入的jar包就占了相当多的体积,而Maven项目只需要一个pom.xml文件就搞定了
约定优于配置
Maven 使用约定而不是配置,开发者不需要再关心每一个配置细节。当创建 Maven 工程时,Maven 会创建默认的工程结构。开发者只需要合理的放置文件,并在 pom.xml 中添加项目相关的依赖。
Maven项目规定了源码文件、资源文件、测试文件、输出文件等的默认配置,简单的说就是把这些文件规定放在对应的路径下方便管理,如下表所示,假设${basedir}表示工程根目录:
项目工程的路径存放的文件类型${basedir}/src/main/java项目源码${basedir}/src/main/resources资源文件,比如.properties文件${basedir}/src/main/webappweb项目相关资源文件,比如web.xml${basedir}/src/test/java测试用的源码${basedir}/src/test/resources测试用的资源文件${basedir}/target/classes编译后的文件${basedir}/target/test-classes编译后用于测试的文件
如果是用Eclipse的Maven插件生成的Maven项目,只会自动生成src/main/resources和target/classes、target/test-classes,需要自己手动添加其它的目录,并且指定项目的source以及编译后的输出目录
3.Maven的安装与设置环境变量
想要创建一个Maven项目需要先安装Maven,并且设置好环境变量
- Maven下载
- 设置环境变量
- 新建变量MAVEN_HOME,值为Maven的目录X:\XXX\apache-maven-XXX
- 将%MAVEN_HOME%\bin添加到Path变量下
- 运行CMD,输入mvn -v后可以看到Maven的版本信息等则表示安装成功
4.创建Maven项目和依赖
4.1创建Maven项目有两种方式,如下
第一种创建方式:使用命令行手动创建
mvn archetype:generate -DgroupId=com.lewis.seckill -DartifactId=seckill -Dpackage=com.lewis.seckill -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp
- 1
- 2
命令行执行后会创建一个maven-archetype-webapp骨架的Maven项目,其中groupId是项目组织唯一的标识符,实际对应JAVA的包的结构;artifactId是项目的唯一的标识符,实际对应项目的名称;package一般是groupId artifactId,是自动生成的,可以修改
第二种创建方式:借助IDE工具的Maven插件来创建项目
笔者用的是Eclipse,所以这里只介绍Eclipse怎么用插件生成一个Maven项目
Eclipse安装Maven插件
- 不知道怎么Maven插件的请参考该博文,推荐使用 link 方式手工安装的方式
- 如果是手工安装Maven插件的,可能会缺少pom.xml 图形化编辑工具,请另外添加进去,具体情况请参考该博文
- 已经安装了Maven插件的请走下一个步骤
- File→New→Other...→Maven Project→Next,进入如下界面
- 点击Next,选择要构建的骨架maven-archetype-webapp,如下图
- 点击Next,填写groupId=com.lewis.seckill,DartifactId=seckill,package=com.lewis.seckill(根据实际情况填写),然后Finish
将Maven项目转变为Eclipse支持的Web项目
此时构建好的只是一个Maven项目,需要将其转变为Eclipse支持的Web项目,这样才能够直接在Eclipse中部署到Tomcat上进行调试。具体情况请参考该博文
4.2修改pom.xml文件
当创建完Maven项目后会在根目录下有一个pom.xml文件,Maven项目通过pom.xml进行项目依赖的管理,如果没有该xml文件,Eclipse不会将该项目当作一个Maven项目
添加项目需要的jar包依赖
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
在这个pom.xml里,会自动添加了Junit的依赖,不过有可能是3.X版本的,我们将其版本改为4.11的,因为旧版本的Junit不支持注解测试。
项目需要什么依赖,我们就到该文件下添加相对应的配置信息,比如我们要使用MySQL,就这pom.xml文件的dependencies标签里引入如下配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
每次更新完pom.xml文件并保存后,Maven 项目会自动检测下载新的依赖。这里的groupId artifactId唯一定位了依赖仓库里的MySQL的驱动jar包,version 表示其版本,scope 表示该依赖的范围。在Maven项目中,编译、测试和 运行使用的是不同的classpath,runtime表示该项目在编译时不导入该依赖,而在测试和运行项目时则导入。
那么如何查找jar包坐标和版本信息呢?请参考该博文
更新依赖时可能存在的问题
由于Maven默认会前往中央仓库下载依赖,下载的速度可能会非常慢,甚至连接不上,一般我们会设置成阿里云的镜像,下载速度会快很多,具体操作请参考该博文
在Eclipse上运行Maven命令
在安装了Maven插件之后,已经不需要用cmd来输入命令,可以直接在Eclipse中直接输入指令。在cmd中每个命令都要加上mvn前缀,而在Eclipse中则不需要,一般常用的指令有clean、compile、install、package等,一般都会在执行命令前先执行clean清除编译后的文件
右键点击Maven项目,执行run as里的命令,也可以自己输入其他的命令,具体操作请参考该博文
执行Maven命令可能发生的问题
如果是第一次在Eclipse上创建Maven项目,可能会存在输入Maven命令,Eclipse的控制台却毫无反应的情况,这是因为没有传参数,具体情况请参考该博文
到这一步,我们的Maven项目就已经初步建立成功了,接下来只需要安装规定在src/main/java下放置源码,在src/main/resources下放置资源文件就行了
- 06-18生活
快餐的好处和坏处
- 12-29生活
直播话题100句幽默
- 05-14生活
小龙虾的黄在哪里
- 05-04生活
中国早熟红枣之乡在什么地方
- 11-27游戏
元气骑士天山雪莲的效果是永久的吗
- 04-25生活
工会是做什么的?
- 05-14生活
送项链给女孩代表什么意思
- 03-07生活
好听的qq昵称男生非主流
推荐
- 1为什么会下雨幼儿解释341
- 2小学语文教学心得457
- 3欢乐斗地主如何创建好友房间237
- 4石榴籽打汁能不能喝309
- 5adad是什么牌子的口红484
- 6速度与激情9小布是谁生的175