什么是Maven?如何基于IDEA + Maven 搭建 JavaWeb 项目?教你一招搞定

一、前言

现在基于java开发的项目越来越多,而我们在做JavaWeb项目时,不可避免的需要导入各种各样的jar包。如果每次建立一个项目到把相应的jar包拷贝到项目中会显得非常的繁琐。这时候,如何去管理我们的jar包就显得非常的重要。通过maven来管理存放jar包的仓库,会使得我们的开发效率大大提升。

二、下载maven并配置相应的环境

在使用Maven前,对Maven进行配置

1.下载并解压下面的压缩包到一个没有中文,空格的目录下
链接:https://pan.baidu.com/s/1b4QWQnxDpNdxbX6Tl3B5fg
提取码:0fgk

然后在电脑随便哪个地方建立一个文件夹,名字命名为:repository,我这里是在c盘目录下建立的该文件。所以文件目录为:C:\repository

打开该文件的配置目录conf,在settings.xml文件中配置如下几个元素:

(1)添加本地仓库
指定localRepository,(maven用来保存jar文件的目录),即本地仓库的路径。


在这里插入图片描述

(2)添加阿里云的镜像,当你所填写的(G, A, V)坐标的jar包在本地仓库找不到时,他会根据坐标自动到这个地址下载,最终文件就下载到你的本地仓库了。


    nexus-aliyun
    Nexus aliyun
    central
    http://maven.aliyun.com/nexus/content/groups/public
 

(3)配置全局JDK,即告诉maven用什么jdk去编译。

   
      jdk-1.8  
        
         true  
         1.8  
        
        
        1.8  
        1.8  
        1.8  
         
    

如果不愿意配置,可以直接用我的setting.xml覆盖掉你的setting.xml文件:

链接:https://pan.baidu.com/s/13z40iGa1qHQPajGbsB1v2A
提取码:gjhy
2. 在IEDA中配置跟Maven的关联(只需要配置一次)

(1)File-->Settings


在这里插入图片描述

在Settings窗口中配置maven解压后的文件夹路径,以及settings.xml路径


在这里插入图片描述

(2)同样上面,还要在Other-Settings下的Default Settings里也配一下,跟上面一样。
在这里插入图片描述

(3)开启IDEA的快速自动编译功能(Settings和Default Settings都要配)


在这里插入图片描述

三、搭建Maven的web工程

1. File-New-创建Project,选择Maven,点击 Next

(1)第1次使用IDEA 创建项目,会报NO SDK,需要把本地的JDK根路径关联进来


在这里插入图片描述

(2)再建立maven项目。


在这里插入图片描述
2. 给项目指定(g, a, v)含义如下:

对于maven项目来说,坐标(G,A,V)就代表了一个依赖,到时候别人想导入我们自己的jar包时,如果我们发布到网上,别人也能根据(G,A,V)下载我们的jar包。


在这里插入图片描述
3. Project建好后,目录结构如下:
在这里插入图片描述
4. 修改pom.xml文件

1个maven项目建好后,首先就要改写pom.xml,把它所依赖的所有jar都通过代码引入到项目中,通过G,A,V来引入外部jar包。如果不清楚一个依赖的G,A,V,可以去网上查查找网址:https://mvnrepository.com/,我们把GroupId或者artifactid的关键字输进去,就能查到了。

在这里插入图片描述

另一种方法:
也可以到仓库中查看(G, A, V)坐标,例如: E:\maven\repository\mysql\mysql-connector-java \5.1.20

G:mysql 位于repository和A之间,可能有多级
A:mysql-connector-java --位于V的上一层,只有一级
V:5.1.20 --版本号,只有一级

以下文件配置都添加到 标签内:
(1)设置项目打包时,打包成war文件,默认是bar文件。

war

(2)添加jar包。本项目需要的4个依赖(jar),mysql、servlet、jstl、JdbcTemplate依赖。数据源对应的坐标如下:


    
        
        
            mysql
            mysql-connector-java
            8.0.15
        
        
        
            javax.servlet
            javax.servlet-api
            3.0.1
            
            provided
        
        
        
            com.alibaba
            druid
            1.1.2
        
                
        
            org.springframework
            spring-jdbc
            4.3.23.RELEASE
        
        
        
            javax.servlet
            jstl
            1.2
        
    

注意:上面的添加jar包的代码中,添加servlet的jar包时多了provided是为了在打成架包的时候,不将该jar包打进去。因为服务器上有servlet的jar包,不需要重复导入。

(3)添加插件。添加tomcat插件,方便我们在写程序的时候运行代码,而不需要打包到外部服务器上运行,增加开发效率。还需要添加java编译插件,我们编写的class需要用到编译插件。


    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.2
                
                    1.8
                    1.8
                    UTF-8
                
            
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    
                    /cour
                    
                    80
                
            

        

    

最终我的代码如下:



    4.0.0

    com.hushi
    couseSystem
    1.0-SNAPSHOT

    
    war

    
    
        
        
            mysql
            mysql-connector-java
            8.0.15
        
        
        
            javax.servlet
            javax.servlet-api
            3.0.1
            
            provided
        
        
        
            com.alibaba
            druid
            1.1.2
        
        
        
            org.springframework
            spring-jdbc
            4.3.23.RELEASE
        
        
        
            javax.servlet
            jstl
            1.2
        
    

    
    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.2
                
                    1.8
                    1.8
                    UTF-8
                
            
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    
                    /cour
                    
                    8081
                
            

        

    


四、利用Maven的编译插件把项目打成war包

4. 对Maven工程执行package命令,把整个工程打成一个war包

(1)点击右上角的package


在这里插入图片描述

(2)把产生的war包拷贝到外部的tomcat服务器的webapps目录中

(3)在tomcat的lib目录下找到start.bat文件,点击他就启动tomcat服务器,war包会自动解压变成一个目录

在这里插入图片描述

启动tomcat服务器后,浏览器中输入http://localhost/项目名,这里我是http://localhost/cs/index.html
结果如下:
在这里插入图片描述

五、利用Maven插件运行web项目(重点)

1. 在pom.xml中添加插件。

mavn的tomcat插件,它能够运行war包,这里在之前添加插件的时候已经添加该代码了。



    org.apache.tomcat.maven
    tomcat7-maven-plugin
    2.2
    
        
        /cour
        
        80
    

2. 双击运行tomcat7插件的tomcat7:run
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六、建立项目必须的文件

1. 建立文件

(1)在项目的main目录下建立webapp目录,再在webapp下建立WEB-INF目录。

(2)在webapp目录下编写我们的前端页面。这里我们建一个index.html文件。

(3)web项目中一定要有web.xml,web.xml是前端的配置文件。如何建立:https://www.cnblogs.com/Liang-Haishan216/p/9302141.html

最终结构如下图:


在这里插入图片描述

在这里插入图片描述

项目的虚拟目录是在Tomcat插件中指定的:


在这里插入图片描述

七、将外部的maven项目导入进来

在这里插入图片描述

八、将maven配置到电脑中(不是必须的,可以不配)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的:(什么是Maven?如何基于IDEA + Maven 搭建 JavaWeb 项目?教你一招搞定)