【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中运行,运行结果如下:

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。