当前位置: 代码迷 >> Eclipse >> 【Maven】Maven的下载与配置,批改其本地仓库,并挂在到Eclipse for javeee建立一个Servlet3.0的Helloworld
  详细解决方案

【Maven】Maven的下载与配置,批改其本地仓库,并挂在到Eclipse for javeee建立一个Servlet3.0的Helloworld

热度:63   发布时间:2016-04-22 23:54:50.0
【Maven】Maven的下载与配置,修改其本地仓库,并挂在到Eclipse for javeee建立一个Servlet3.0的Helloworld

首先说一下Maven是什么。经常听Maven项目好像很高大上的样子,其实Maven只是一个jar的下载工具。配置了Maven的项目,在程序猿的开发机器能够联网的时候,能够自己上网下载程序猿需要的jar包,省去程序猿自己上各个国外官网,忍受着卡爆的网速,找jar包的蛋疼。由于Maven是Apache的项目,Apache在全世界都配有服务站点,因此通过Maven下jar包,是很不错的。同时,现在一些Struts2等国外项目也开始傲娇起来,在官网上通通都只提供自己的Maven依赖,让程序猿自己通过这条Maven依赖在Maven下载,以便他们能够及时更新自己的jar。好吧,JavaWeb的入门门槛又高了起来,你也必须搞懂Maven是什么。其实也不能。


一、Maven的下载

在这里先说这句,这东西的配置其实跟java jdk的配置,基本就是一模一样的。你搞过Java jdk就一定会搞Maven。JDK1.7的配置可以参考《【Java】JDK的下载、安装与部署》(点击打开链接)。其实与Eclipse直接自带JDK一样,Eclipse直接自带了Maven插件,但是,你最好自己配一个最新的Maven给Eclipse,不然总会出现这样那样的问题的。

首先进入Maven的官网,找到Bin版本的zip包,Linux则是tar.gz,下载Maven。http://maven.apache.org/download.cgi如下图:


其下载地址是:http://apache.dataguru.cn/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.zip。如果,你的网络像我一样蛋疼,可以直接扔到下载工具下载。


二、Maven的配置

1、下载之后,解压,选择路径要主要,这个解压目录就是以后你的Maven的工作目录,不要随便找个位置。同时注意文件夹套文件夹的情况。也就是解压之后,先打开解压之后的文件夹,看里面是不是有如下的bin,boot,conf,jar,lib文件夹,同时新建一个jar包,打开conf中的setting.xml,顺便改好Maven的本地仓库路径,也就是Maven下载包会下载的地方。


在conf中的setting.xml找到第55行的位置,在里面的非注释处,加入:

<localRepository>你希望Maven下载jar时的存放路径,也就是Maven本地仓库的路径</localRepository>

如下图,这里是我刚刚新建的jar文件夹:


2、之后右键计算机/我的电脑->管理/属性->高级系统设置(winxp没有)->找到“高级”选项卡->环境变量。

如下图,打开之后新建一个:

变量名:MAVEN_HOME

变量值为你刚才解压Maven的路径,这里是E:\Program Files\apache-maven-3.3.3


确定之后再与Path变量中添加一个%MAVEN_HOME%\bin,如下图,分明就是和配置Java的时候一样:


之后各种确定。

3、运行cmd打开命令行,输入如下命令,看到如下结果则证明Maven在Windows下配置成功!

mvn -version


三、将Maven配置到Eclipse for JavaEE

1、打开Eclipse for Javeee,Windows->Perference->Maven->Installations->Add..->Directory...选择刚刚的Maven路径,点击确定


2、勾选自己添加的Maven,把勾从Eclipse自带的Maven移下来。


3、之后再于User Settings中修改Eclipse中的Maven配置文件。如下图,找到刚才我们修改的Maven安装路径/conf/setting.xml。不改的话,Eclipse中的Maven还是会按照自己自带的配置。下载的Jar包,还是不会去到我们刚刚建立的jar目录。之后再点确定。至此,Maven成功挂在Eclipse for javaee中。



四、新建一个Servlet3.0的Maven项目及其Hello world

1、如下图,新建一个Maven工程


2、工作空间按照默认的就可以


3、之后,如下图,选择一个maven-archetype-quickstart的Filter,快照级别的Maven项目就可以。有什么,我们自己动手,丰衣足食。


4、之后输入Group Id与Artiface Id。Maven项目,要求所有Java包必须符合Java工程的规范,这只是你这个工程所有包名的前缀而已。没有什么大不了的。之后点确定,根据网速的不同,小卡一会儿。Maven工程正式建立完毕。以后只要不修改工程下的pom.xml,Maven一般不会自动更新jar包。


5、新建工程之后先不要做任何事情,先右键工程属性,我们还要配置此Maven工程的一些东西。在Deployment Assembly设置Java工程自动包含Maven依赖包的东西,如下图:


6、之后在Java Build Path如下图,把编译的Java改成Eclipse中已经配好的JDK1.7。


7、之后在Project Facets中添加动态网页模块,在运行环境中添加已经配置好的Tomcat的运行环境。指明此乃JavaEE项目。好了,至此,终于可以点确定了。


8、之后打开pom.xml文件,在pom.xml视图中,删除没有的Junit测试专用包的依赖,并且删除测试专用的Java文件,如下图:


把pom.xml文件修改如下,添加Servlet3.0的依赖,保存退出,Eclipse则会自动在此工程下载相应的Servlet3.0包javax.servlet-api-3.0.1.jar并且添加到这个项目中。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">	<modelVersion>4.0.0</modelVersion>	<groupId>com</groupId>	<artifactId>test</artifactId>	<version>0.0.1-SNAPSHOT</version>	<packaging>jar</packaging>	<properties>		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>	</properties>	<dependencies>	<!-- 要求Maven下载Servlet3.0的jar包 -->		<dependency>			<groupId>javax.servlet</groupId>			<artifactId>javax.servlet-api</artifactId>			<version>3.0.1</version>		</dependency>	</dependencies></project>
之后,就是Servlet3.0的,简单得不能再简单的内容,在WebContent中的WEB-INF中新建一个web.xml如下:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xmlns="http://java.sun.com/xml/ns/javaee"	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"	version="3.0"></web-app>

新建一个index.jsp如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Hello</title></head><body>Hello world!<a href="./hello">Hello</a></body></html>
再于src/main/java新建一个hello.java如下:

package com.test;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.annotation.*;@WebServlet(name="hello",urlPatterns={"/hello"})public class hello extends HttpServlet {		private static final long serialVersionUID = 1L;	protected void service(HttpServletRequest request,			HttpServletResponse response) throws ServletException, IOException {		PrintStream out = new PrintStream(response.getOutputStream());		response.setContentType("text/html;charSet=utf-8");		out.print("hello world");	}}
最终的目录结构如下:


之后把这个工程挂载到Tomcat中运行,运行结果如下:


  相关解决方案