Live2D
复制代码

02-idea集成maven创建普通java工程和we工程

1、idea中设置Maven

为了让idea和maven联合起来使用,需要在idea中设置

--idea自身是内置了maven,但是一般不使用内置,理由是使用内置maven修改maven设置时不方便
所以使用自己安装的maven,来覆盖idea中的默认设置。下面设置以让idea指定自己安装的maven位置信息。
可以在两个位置修改:
1、File->Settings:这个位置修改的是针对当前maven工程的设置
2、File->New Projects Settings->Setting For New Projects:在这个位置是针对以后新建的maven工程的设置
--两个位置的设置是一样的,只是前面进入的路口不一样
第二个设置:
File->New Projects Settings->Setting For New Projects

-> Build, Execution, Deployment ->Build Tools->Maven(点开Maven)

Maven->Runner
设置其中的
VM Options(设置虚拟机参数的):-DarchetypeCatalog=internal
--archetype翻译为骨架,maven项目创建时默认联网下载项目模板,非常慢,上面的设置表示使用内部的模板,不需要下载
JRE:选择JDK1.8安装路径

在当前工程中设置Settings也是和上面一样的

2、普通java工程集成maven

使用idea创建一个普通的maven的java工程

2.1 创建一个空工程,名为idea-maven

2.2 添加一个模块Module

2. 3 选择Maven,选择完毕后下一步

选择Maven选项,其中我们勾选使用模板,所陈列的都是不同种类的模板,不同模板生成的项目都有其对应的目录结构和常用文件,我们要做什么项目就选择什么模板,生成的项目目录文件就非常的适合该项目开发

2.4 编写项目信息,下一步

Parent:不继承其他项目就不填
Name:填写项目名字  
Location:一般不做改动
Artifact Coordinattes:项目的坐标三要素,按要求填写

2.5 选择maven的配置信息

发现默认的还是idea内置的,前面在Settings中配置的没起作用,可能是创建的是空工程的原因

2.6 创建成功浏览项目结构,添加模板不足的缺少文件

发现所选择的模板并没有创建resources目录,那么我们自己在main和test目录下分别新建一个resources
--注意:
	maven项目中的根据文件目录中存储文件的不同,分为不同种目录:
	Sources Root:代表存放的是主程序的java文件
	Test Sources Root:表示存放的是测试程序的java文件
	Resources Root:代表存放的是主程序的java文件所需的配置资源文件
	Test Resources Root:代表存放的是测试程序的java文件所需的配置资源文件
修改文件目录类型:右键文件目录->Mark Directory as->选择相应类型

2.7 查看pom文件

2.8 进行单元测试

删掉主程序和测试程序包下的两个原始java类,src\main\com\studymyself下新建 HelloMaven.java
package com.studymyself;

public class HelloMaven {
    
    public int add(int a,int b){
        
        return a+b;
        
    }
    
}

src\test\com\studymyself下新建 TestHelloMaven.java
package com.studymyself;

import org.junit.Assert;
import org.junit.Test;

public class TestHelloMaven {
    
    @Test
    public void testAdd1(){

        System.out.println("测试1:测试方法add,执行testAdd");
        
        HelloMaven helloMaven = new HelloMaven();
        
        int res = helloMaven.add(10,20);

        Assert.assertEquals(30,res);
        
    }

    @Test
    public void testAdd2(){

        System.out.println("测试2:测试方法add,执行testAdd2");

        HelloMaven helloMaven = new HelloMaven();

        int res = helloMaven.add(10,20);

        Assert.assertEquals(30,res);

    }
    
}

点击方法前面的运行三角执行该测试方法

2.9 点击右边的Maven选项,弹出Maven窗口

在maven窗口中我们可以执行各种操作,我们点击其中的编译或者打包时,其弹出的控制台是使用的maven自身的而非idea的,在idea中我们设置的都是UTF-8编码,所以文件都是UTF-8,而我们知道大陆下载的maven构建项目默认是以GBK的形式,所以双击test的时候控制台输出的测试语句中文出现乱码。
--还有就是目录结构上方的设置齿轮按钮中Show Exclude Files需要打上勾,才会显示生成的target目录

3、web工程集成maven

3.1 在工程idea-maven中添加新模块,选择maven,其中勾选模板是maven-archetype-webapp

3.2 不继承项目,项目名字idea-maven-javaweb

3.3 检查maven设置是否有误,无误finish,有就改好

3.4 创建好后完整目录如下

发现main中并没有java源文件夹,自己在main目录下创建java,然后定义为源文件夹Sources Root;再创建一个resources文件夹定义为源资源文件夹Resources Root
如果以后还需要测试的话,再在src下新建test,然后创建java和resources,各自定义相应类型。

然后删掉jsp文件,新建一个index.html文件
完整的maven的web项目结构如下:

3.5 打开pom文件

可以看到由于添加的模板不同,是web项目,所以打包被定义为打成war包。
下面的与之前普通java项目的一样。

3.6 添加Tomcat容器

在maven项目中就不需要在Structure Projects中的Dependencies中选择Tomcat的jar包了,直接在中央仓库搜索Tomcat,找对应版本的坐标依赖代码粘贴到pom文件中的依赖标签中就行了,因为搜索出来的很多,不知道哪一个,就直接百度对应博客,出来的更准确。
<!--下面这个是错误的-->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-catalina</artifactId>
    <version>9.0.41</version>
</dependency>
<!--这个才是正确的-->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>9.0.41</version>
</dependency>
添加进去后,发现版本号是红的,说明没有刷新pom文件加载对应依赖,点击maven出现maven窗口,刷新Reload所有maven工程,如果仓库有的话就可以加载进项目中了,没有就到默认的镜像网址中下载。还有一种方法就是修改了 maven 依赖以后,当前 pom 文件的右上角会出现一个 maven 的小图标,点一下就可以更新依赖了。或者快捷键:Ctrl + Shift + O

添加完web容器依赖后,配置选择容器
Edit Configurations->加号+->Tomcat Server->Local->点击下边Warning右边的fix,选择带有explode的项目
或者这样添加部署项目 Local->Deployment->右边加号->Artifacts->选择带有explode的项目

3.7 在index.html中编写一个超链接,连接到一个Servlet资源类

新建一个Servlet资源类com.studymyself.controller.HelloServlet
package com.studymyself.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 {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("test/html;charset=utf-8");

        response.getWriter().print("大家好,这是一个使用Maven构建工具创建的web项目");

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Welcome Page</title>
</head>
<body>
    <h1>欢迎光临!</h1>
    <a href="/idea-maven-web/helloMaven">点击进入</a>
</body>
</html>
我们在maven窗口打开该web项目的生命周期,双击package,maven帮我们将项目打包成一个war包:
	idea-maven-javaweb.war,我们从硬盘中将该war文件,改名为myweb.war,放进Tomcat目录中的webapps目录中,然后在命令窗口setup启动服务器,这样这个项目就开始发挥功能了,我们在浏览器中输入http://localhost:8080/myweb/回车,就能到该项目的欢迎页面了。这个war包就是我们的最终成品,交给客户的。
--导入maven项目模块
	File->New->Module From Existing Sources->选择项目,ok->选择Import module from external model,选择Maven项目,ok->Apply
	也可以在Project Structure的ProjectSettings的Modules中点击加号选择新建还是导入,导入后选中项目,在右边的Dependencies属性中选择Module SDK为JDK1.8,然后应用。
posted @ 2021-08-08 18:30  Milen-jie  阅读(279)  评论(0编辑  收藏  举报