Eclipse的Maven快速入门

一、创建Maven工程

1、在项目当中创建Maven工程

在这里插入图片描述
Next
在这里插入图片描述
Next
在这里插入图片描述
Next
在这里插入图片描述
Finish
在这里插入图片描述

无法创建Maven项目解决办法:

在pom.xml当中
在这里插入图片描述

<dependency>
	<groupId>commons-httpclient</groupId>
	<artifactId>commons-httpclient</artifactId>
	<version>3.1</version>
</dependency>

2、创建一个Java类会自动引入jar

package com.itzheng.demo2.com.itzheng.demo2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class App {
    
    
	private static String url = "https://www.bilibili.com/416beec0-8ac2-467d-a6c7-07b31a70ebcf";

	public static void main(String[] args) {
    
    
		// Create an instance of HttpClient.
		HttpClient client = new HttpClient();

		// Create a method instance.
		GetMethod method = new GetMethod(url);

		// Provide custom retry handler is necessary
		method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));

		try {
    
    
			// Execute the method.
			int statusCode = client.executeMethod(method);

			if (statusCode != HttpStatus.SC_OK) {
    
    
				System.err.println("Method failed: " + method.getStatusLine());
			}
			// Read the response body.
			byte[] responseBody = method.getResponseBody();
			File file = new File("C:\\Users\\ZHENG\\Desktop\\tuo.png");
			FileOutputStream fos = new FileOutputStream(file);
			fos.write(responseBody);
			fos.close();
			// Deal with the response.
			// Use caution: ensure correct character encoding and is not binary data
			System.out.println(new String(responseBody));

		} catch (HttpException e) {
    
    
			System.err.println("Fatal protocol violation: " + e.getMessage());
			e.printStackTrace();
		} catch (IOException e) {
    
    
			System.err.println("Fatal transport error: " + e.getMessage());
			e.printStackTrace();
		} finally {
    
    
			// Release the connection.
			method.releaseConnection();
		}
	}
}

在这里插入图片描述

二、Maven的优点

1、maven到jar包仓库寻找jar

(1)优先找本地的仓库当中的jar
(2)本地仓库找不到,侧从私服上查找,找到后下载到本地仓库
(3)私服上找不到,侧从中央仓库查找,找到后下载到私服,最后下载到本地。

最终maven都会把jar下载到本地仓库当中,maven工程再引用本地仓库的jar包
在这里插入图片描述

2、一键构建

什么是构建?

只指的是项目从编译–测试–运行–打包----安装整个过程都交给maven进行管理,这个过程称为构建。

maven将项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段,后面章节详细介绍每个阶段,这里先大概了解一下:

三、Maven的仓库和本地仓库的配置

1、Maven 仓库

Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。

运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
在这里插入图片描述

2、配置本地仓库

(1)创建仓库文件:文件名称为repository

在这里插入图片描述

扫描二维码关注公众号,回复: 11843651 查看本文章
(2)修改配置文件

在这里插入图片描述

这里的路径是上面创建仓库的路径

在这里插入图片描述

3、中央仓库

Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。

中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。

中央仓库的关键概念:

这个仓库由 Maven 社区管理。
不需要配置。
需要通过网络才能访问。
要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。

4、远程仓库

如果 Maven 在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。

举例说明,使用下面的 pom.xml,Maven 将从远程仓库中下载该 pom.xml 中声明的所依赖的(在中央仓库中获取不到的)文件。

5、私服:私人搭建的服务器。一般在企业内部的局域网中使用

6、最终maven都会把jar下载到本地仓库,maven工程再引用本地仓库的jar包。

四、Maven的目录结构规范

在这里插入图片描述
在这里插入图片描述

五、Maven的常用命令

maven常用命令

(一) maven常用命令:

1.mvn clean 清空产生的项目(target里)
2.mvn compile 编译源代码

切换到对应Java项目的目录下
在这里插入图片描述

在这里插入图片描述

3.mvn install 在本地repository中安装jar(包含mvn compile,mvn package,然后上传到本地仓库)

在这里插入图片描述
生成对应的jar文件
在这里插入图片描述

4.mvn deploy 上传到私服(包含mvn install,然后,上传到私服)

(二)把pom文件中配置的依赖jar包打进来,打成一个包:要用maven-assembly-plugin 这个插件,在pom文件加如下配置

5.mvn package 打包

在这里插入图片描述
生成jar
在这里插入图片描述
将打包好的jar放置到本地仓库
在这里插入图片描述
在这里插入图片描述

6.mvn test 运行测试

在这里插入图片描述
在target
在这里插入图片描述
test-classes
在这里插入图片描述

在这里插入图片描述

7.mvn site 产生site
8.mvn test-compile 编译测试代码
9.mvn -Dtest package 只打包不测试
10.mvn jar:jar 只打jar包
11.mvn test -skipping compile -skipping test-compile 只测试而不编译,也不测试编译
12.mvn deploy
13.mvn source.jar 源码打包

六、Maven的生命周期

1、Maven有【三套】【相互独立】的生命周期

Maven有三套独立的生命周期,不了解的话很容易将Maven的生命周期看作一个整体。

(1)清理生命周期(Clean Lifecycle):在进行真正的构建之前进行一些清理工作。
(2)默认生命周期(Default Lifecycle):构建的核心部分:编译、测试、打包、部署等等
(3)站点生命周期(Site Lifecycle):生成项目报告、站点,发布站点。

相互独立的意思就是说,你可以仅仅调用clean来清理工作目录,可以仅仅调用site来生成站点,这三个生命周期之间相互独立,并不存在强依赖关系。

当然了,也可以将三个生命周期组合使用,直接运行mvn clean install site来一起运行这三套生命周期。

七、使用eclipse配置maven

1、配置maven插件,高版本自带

Window->Preferences
在这里插入图片描述

2、设置maven仓库的位置

在这里插入图片描述

3、Maven重构缩阴

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、使用Maven建立工程

1、创建maven工程helloworld

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击Finish

2、自动生成web目录结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、修改maven工程的jdk版本

在这里插入图片描述

在这里插入图片描述
在pom.xml当中添加以下代码片段
在这里插入图片描述

<configuration>
  	 <!-- 原码版本 -->
  	 <scorce>1.8</scorce>
  	 <!-- 编译目标版本 -->
  	 <target>1.8</target>
  	 <!-- 指定编码 -->
  	 <encoding>utf-8</encoding>
</configuration>

刷工程
在这里插入图片描述
在这里插入图片描述
工程项目改变了jdk版本,并且将不会报错
在这里插入图片描述
没事刷两下

4、修改创建maven的时候的默认jdk版本

(1)在maven的安装路径下

在这里插入图片描述
调整全局JDK版本,在settings.xml下配置

<profile>
    <id>jdk1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>

九、创建Servlet工程

1、创建Servlet类

在这里插入图片描述
Next
在这里插入图片描述
Finish

2、创建好一些Servlet工程会包一些错误

在这里插入图片描述
缺少一些jar

3、快速添加jar

在这里插入图片描述
点击Add
在这里插入图片描述

在这里插入图片描述
自动在pom.xml当中添加对应的配置
在这里插入图片描述

4、创建jsp页面

在这里插入图片描述
这里没有报错,但是有时候就会报错
在这里插入图片描述

5、配置编译jsp对应的jar

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、在Servlet当中写入

package com.itzheng.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlet
 */
public class HelloServlet extends HttpServlet {
    
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		System.out.println("进入到HelloServlet....");
		//请求转发
		request.getRequestDispatcher("/index.jsp").forward(request, response);
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
		doGet(request, response);
	}
}

7、修改index.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
第一次使用maven工程,进入index.jsp页面
</body>
</html>

8、运行项目

(1)pom.xml添加配置文件
<build>
  	<plugins>
  		<plugin>
  			<groupId>org.codehaus.mojo</groupId>
  			<artifactId>tomcat-maven-plugin</artifactId>
  			<version>2.2</version>
  			
  			<configuration>
  			<!-- 访问端口 -->
  				<project>8080</project>
  				
  				<!-- 项目路径 -->
  				
  				<path>/helloworld</path>
  				
  				<!-- 编码 -->
  				<uriFncoding>utf-8</uriFncoding>
  				
  			</configuration>
  			
  		</plugin>
  	</plugins>
  </build>

在这里插入图片描述

(2)运行项目

在这里插入图片描述
编译项目
在这里插入图片描述
运行项目
在这里插入图片描述

访问http://localhost:8080/helloword/HelloServlet
在这里插入图片描述
运行成功
在这里插入图片描述

(3)依赖在作用:运行的时候可能会出错,需要设置一下依赖

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

十、Maven项目整合struts2

1、创建Maven的Progect

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、修改maven工程的jdk版本

在这里插入图片描述

在这里插入图片描述
在pom.xml当中添加以下代码片段
在这里插入图片描述

<configuration>
  	 <!-- 原码版本 -->
  	 <scorce>1.8</scorce>
  	 <!-- 编译目标版本 -->
  	 <target>1.8</target>
  	 <!-- 指定编码 -->
  	 <encoding>utf-8</encoding>
</configuration>

刷工程
在这里插入图片描述
在这里插入图片描述
工程项目改变了jdk版本,并且将不会报错
在这里插入图片描述

3、创建Action类

在这里插入图片描述
Finish
在这里插入图片描述
在这里插入图片描述
完成添加
在这里插入图片描述
成功自动引入jar包
在这里插入图片描述

4、写配置文件

(1)在src/mian/resources创建xml文件

在这里插入图片描述
在这里插入图片描述
在struts.xml当中配置对应的

<?xml version="1.0" encoding="UTF-8"?>
<struts>
	<package name="default" namespace="/" extends="struts-default">
		<action name="helloAction" class="com.itzheng.web.action.HelloAction">
			<result>/index.jsp</result>
		</action>
	</package>
</struts>
(2)在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_2_5.xsd" version="2.5">
  <display-name>mavenstruts</display-name>
 	<filter>
 		<filter-name>struts</filter-name>
 		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 	
 	</filter>
 	<filter-mapping>	
 		<filter-name>struts</filter-name>
 		<url-pattern>/*</url-pattern>
 	</filter-mapping>
</web-app>

5、启动

在这里插入图片描述
在这里插入图片描述
自动在pom.xml当中添加一段代码
在这里插入图片描述

在这个晚间当中添加一些配置
在这里插入图片描述

(3)在webapp下创建index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
第一次使用maven工程,进入index.jsp页面
</body>
</html>
(4)在pox.xml当中配置struts对应的

在这里插入图片描述
在这里插入图片描述
添加jsp对应的API
在这里插入图片描述
运行项目访问成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44757034/article/details/108682353
今日推荐