2.1.1 maven项目与idea的集合
idea自带maven,使用maven需要对idea做些常规设置
①对本项目有效的maven设置,打开idea,点击文件–设置
maven–runner
②对新建项目的有效的maven设置,文件–其他设置–设置for New Project
设置内容和上面一样
2.1.2使用idea创建第一个Javase maven项目
①选择新建项目,
点击下一个,设置名称,选择位置
在项目中新建模块
使用模板创建项目
点击下一个
点击下一个
然后点击确认
创建成功界面
观察项目目录结构,会发现和maven约束目录结构不一样的是少了resource资源文件夹
我们需要手动新建resource资源文件夹,在main同级目录下新建resources文件夹,但是此时项目还是不能用resources文件夹,需要我们标记该文件夹为资源文件夹
② 创建完项目后,我们开始写第一个maven项目,在main主程序目录下的java源代码目录下新建HelloMaven.java文件
ckage com.yhg;
public class HelloMaven {
public int addTest1(int n1,int n2){
return n1+n2;
}
public static void main(String[] args) {
HelloMaven maven=new HelloMaven();
int res=maven.addTest1(10,20);
System.out.println("HelloMaven"+res);
}
}
运行结果
③测试
要在idea中使用maven项目的测试,首先检查pom.xml配置文件中是否有单元测试的依赖
检查之后我们在Test测试代码中新建一个测试java类TestHelloMaven.java
package com.yhg;
import org.junit.Assert;
import org.junit.Test;
public class TestHelloMaven {
@Test
public void TestNumber1(){
System.out.println("TestNumber111111111");
HelloMaven maven =new HelloMaven();
int res=maven.addTest1(10,20);
Assert.assertEquals(30,res);
}
@Test
public void TestNumber2(){
System.out.println("TestNumber222222");
HelloMaven maven =new HelloMaven();
int res=maven.addTest1(10,20);
Assert.assertEquals(60,res);
}
}
点击第一个方法旁边的绿色三角形箭头单独测试方法一
同理可以单独测试方法二,可以发现方法二测试不通过,因为期望值和实际值不一致
我们也可以通过点击类旁面的三角进行整体测试。
无论运行或者测试,我们会发现在maven项目目录结构中生成了一个Target目录,它是存放编译结果的目录
我们还会发现idea集成maven后,我们不需要敲maven各种命令,都是idea帮我们完成命令,我们也可以通过idea来使用maven常用命令,点击maven
2.1.3使用idea创建第一个web maven项目
①新建模板
点击下一个,其余操作和创建常规普通maven项目一样
点击确认,创建完成之后会出现
需要注意的是,选用的模板创建web项目中在src目录下并没有java源代码文件夹和资源文件夹resources,需要我们手动新建
在web项目中加入servlet依赖,首先需要在pom.xml配置文件中增加依赖
<dependency>
<!--servlet依赖-->
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<!--jsp依赖-->
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
通过添加servlet依赖和部署tomocat服务器中自带的servle是一样的都是使用的servlet-api.jar,添加依赖后重新加载一下maven项目,之后新建java源代码目录后,创建java包,再创建HelloServlet.java文件
package com.yhg.controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("helloServlet");
request.getRequestDispatcher("/show.jsp").forward(request,response);
}
}
配置web.xml配置文件
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.yhg.controller.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
index.jsp代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<a href="hello">访问helloServlet</a>
</body>
</html>
再新建一个show.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<center>第一个web-maven项目</center>
</body>
</html>
最后再部署tomcat服务器并运行