很多时候开发效率低下,大部分原因是 IDE 环境不熟悉、配置不会配置;因此在学习一项技能之前,有必要对基本的环境配置有所了解,正所谓磨刀不误砍柴工。这篇文章主要针对初次接触 Maven,不熟悉配置的研究人员。
Maven 官网:http://maven.apache.org/
以前开发 Java Web 工程时,需要导入很多依赖包,但是随着工程逐渐变大,所管理的包越来越多,有必要使用工具来管理这些包,这样不需要我们手动导入;Maven 就是为了解决管理 jar 的问题。
如下,一个经典的导入 springmvc 依赖的配置:
- <dependencies>
- <dependency>
- <groupId>
- org.springframework
- </groupId>
- <artifactId>
- spring-webmvc
- </artifactId>
- <version>
- 3.2.0.RELEASE
- </version>
- </dependency>
- <dependencies>
通过三个坐标值,定位到我们所需的依赖包;
关于 pom 文件的介绍,官方文档:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
下面介绍如何配置 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 文件:
- <!-- 官方推荐但是不可用,需要配置代理 <mirror>
- <id>UK</id>
- <mirrorOf>central</mirrorOf>
- <name>UK Central</name>
- <url>http://uk.maven.org.maven2</url>
- </mirror>
- -->
- <!-- 使用国内的镜像 -->
- <mirror>
- <id>
- alimaven
- </id>
- <name>
- aliyun maven
- </name>
- <url>
- http://maven.aliyun.com/nexus/content/groups/public/
- </url>
- <mirrorOf>
- central
- </mirrorOf>
- </mirror>
这样基本的配置就完成了,关于更多内容在下一篇文章中引入;
4)使用命令新建与发布 Web 工程
进入我们想要新建工程的目录,这里是 E:\JavaWeb\eclipse-neon\workspace
- mvn archetype: generate - DgroupId = ecnu.liuning - DartifactId = springmvc - study - DarchetypeArtifactId = maven - archetype - webapp
中间有提示信息,点回车即可,如果出现错误,很大一部分原因是因为镜像配置错误,没法下载依赖包,搜索错误内容查找解决方案。
如果最后提示 BUILD SUCCESS 证明新建成功;
这跟用 eclipse 新建是一样的,可以用 eclipse 导入测试,如果导入 eclipse 之后出现下面的错误:
是因为没有添加 Tomcat Server 的运行环境:右键点击工程,选择 config buildpath 然后按照下图选择;添加完之后,修改一下文件内容再保存,让他重新加载一下。
- 在命令行切换到springmvc - study目录,执行:mvn package构建成功后,springmvc - study目录下多了一个target目录,在这个目录下会打包成my - web - app.war,把这个war包拷贝到Tomcat的发布目录下就可以运行了
上面介绍了,使用命令来新建 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 依赖
- <dependencies>
- <dependency>
- <groupId>
- junit
- </groupId>
- <artifactId>
- junit
- </artifactId>
- <version>
- 3.8.1
- </version>
- <scope>
- test
- </scope>
- </dependency>
- <dependency>
- <groupId>
- javax.servlet
- </groupId>
- <artifactId>
- javax.servlet-api
- </artifactId>
- <version>
- 3.1.0
- </version>
- </dependency>
- </dependencies>
点开 web.xml 文件,由于此文件是自动生成的,没有头部;可以现搜最新的模板使用,也可以用下面的:
- <?xml version="1.0" encoding="UTF-8" ?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- id="WebApp_ID" version="3.1">
- <display-name>
- Demo
- </display-name>
- </web-app>
4)下面配置插件用以发布 Maven 项目
首先在 pom.xml 文件中加入下面的代码:build 标签与 dependencies 并行,打一个 < 点击 alt+/ 会有标签提示。
- <build>
- <plugins>
- <plugin>
- <groupId>
- org.apache.tomcat.maven
- </groupId>
- <artifactId>
- tomcat7-maven-plugin
- </artifactId>
- <version>
- 2.1
- </version>
- <configuration>
- <!-- 注意此处的url,修改成tomcat监听的端口即可 -->
- <url>
- http://localhost:8080/manager/text
- </url>
- <server>
- tomcat7
- </server>
- <!-- 此处的名字必须和setting.xml中配置的ID一致-->
- <path>
- /${project.artifactId}
- </path>
- <!-- 此处的名字是项目发布的工程名-->
- <server>
- tomcat7
- </server>
- <username>
- admin
- </username>
- <password>
- password
- </password>
- </configuration>
- </plugin>
- </plugins>
- </build>
配置 Tomcat
- 编辑Tomcat目录下 / conf / tomcat - users.xml
- 在 < tomcat - users > </tomcat-users>标签中加入以下代码后,保存退出/
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin"password="password"roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
如果出错:
可尝试将将 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,这个出问题,可以换另一个;
工欲善其事必先利其器,开发环境是很有必要熟悉的!
http://www.linuxidc.com/Linux/2017-05/143308.htm
Maven 官网:http://maven.apache.org/
来源: http://www.cnblogs.com/liun1994/p/7173052.html