IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404

文章目录

  • 一、Maven安装以及配置环境变量
  • 二、IDEA创建Maven项目
  • 三、配置Tomcat
  • 四、创建好Maven项目出现的问题


第一次在IDEA使用Maven时花费了大量时间在搞各种配置和环境,特此记录!!

完整的目录结构:
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第1张图片
 

一、Maven安装以及配置环境变量

官方下载链接:https://archive.apache.org/dist/maven/maven-3/
百度云:https://pan.baidu.com/s/1pW2Q96rl1Kpmz2REVERycg 提取码: rczr

1、建议下载不要选最新的,我第一次使用的时候是Maven 3.6.3+IDEA 2020.3,结果死活用不了,一直卡在阿里云镜像那,后面选择 Maven 3.3.9+IDEA 2019.3(一般不用IDEA 2020和Maven 3.6.3应该都可以,如果失败就降低版本)。下载Maven时选择bin-zip,然后解压即可。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第2张图片

2、解压后,随便找个地方新建文件夹(作为本地仓库,放置各种jar包),然后去maven目录-conf-setting.xml进行配置。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  
  
  <localRepository>F:\Environment\repositorylocalRepository>

 
下面这个是阿里云镜像,要放在setting.xml的mirrors标签里,其他的比如华为云也可以,但是目前最新都要求是采用https,然鹅我试了很多方法都失败了,还是选择用http,后面再去IDEA中忽略安全协议就行。

<mirror>
    <id>nexus-aliyunid>
    <mirrorOf>*mirrorOf>
    <name>Nexus aliyunname>
    <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
mirror>

 
3、配置系统环境变量。这里M2_HOMEMAVEN_HOME的区别是maven版本,以前maven 1用的是MAVEN_HOME,后面maven 2和3都是M2_HOME,保险期间,都添加上。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第3张图片

 
然后需要在PATH中添加maven的bin目录,以便在cmd中使用maven命令。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第4张图片

这两种方式都可以,选一个添加就行,第二种是相对路径更灵活,如果第二种在后面验证时失败就用第一种绝对路径。

 
4、验证,win+R,输入cmd,然后输入命令 mvn -v,如果成功输出则maven配置成功。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第5张图片

 

二、IDEA创建Maven项目

1、这里主要是用IDEA创建JavaWeb,一般都会用多个模块,所以一开始先不要用模板。一直next先进去。

(如果过程中让选择maven,可以先就用IDEA自带的,或者选择自己的,进去之后都会进行默认设置)
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第6张图片
 
2、进行新项目的默认设置
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第7张图片

 
选择自己的Maven以及仓库和配置文件
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第8张图片

 
选择自己JDK并勾选自动导包,然后把下面命令填入VM options for importer中(忽略安全协议的,否则无法使用前面的阿里云镜像)。

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

 
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第9张图片

 
注意:有可能输入了这个命令后面镜像依然无法是使用,注意看报错是什么,大概率通过降低版本就可以用,建议换成我用的版本,Maven 3.3.9+IDEA 2019.3,这个是能保证可用的,如果有问题可以私我。
 
3、因为没有使用Web模板,所以目录结构是不完整的,同时我们要创建子模版,下面先删除src目录,然后创建新模板。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第10张图片
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第11张图片

 
一般来说选择了Web模板都会有webapp目录,不过我即便用了模板也是什么都没有,所以所有目录结构需要自己来创建。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第12张图片
 

注意:在创建好模板后,可能出现下面错误,先不用管它。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第13张图片
 
4、自己创建目录src、test、webapp等目录。

  1. 对着子模板右键选择new-directory(如果不需要子模版,对着项目目录右键就行),创建几个必要的目录。

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第14张图片

  1. 接着Ctrl+Shift+Alt+S,打开项目结构,选择子模块添加Web。这两个路径下要先创建好目录和文件。接着右下角点击创建Aritifact。

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第15张图片

  1. 子模块创建好target,后续生成的包都在这个文件里

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第16张图片

  1. 修改模块的输出目录(这个编译输出是继承父项目,可以自己改)

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第17张图片

5、修改项目的输出目录(out作为整个项目的输出,target作为该模块的输出,所以需要先新建out目录,然后删除项目的target)

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第18张图片

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第19张图片

注意:artifacts的输出位置需要改,要改到target里面去。

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第20张图片

 
5、这里为了测试,先把两个maven的pom.xml以及web.xml的内容填上,然后创建个index.jsp和TestServlet.java。

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第21张图片
 
pom.xml(untitled,整个项目的)


<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.0modelVersion>

    <groupId>org.examplegroupId>
    <artifactId>untitledartifactId>
    <packaging>pompackaging>
    <version>1.0-SNAPSHOTversion>
    <modules>
        <module>untitled1module>
    modules>
    <properties>
        
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <maven.compiler.source>1.8maven.compiler.source>
        <maven.compiler.target>1.8maven.compiler.target>
    properties>

    <dependencies>
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>4.0.1version>
            <scope>providedscope>
        dependency>

        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>javax.servlet.jsp-apiartifactId>
            <version>2.3.3version>
            <scope>providedscope>
        dependency>

        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>
            <version>1.2version>
        dependency>
    dependencies>

project>

 
web.xml


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>testservlet-name>
        <servlet-class>TestServletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>testservlet-name>
        <url-pattern>/testurl-pattern>
    servlet-mapping>
web-app>

 
TestServlet.java

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 TestServlet extends HttpServlet {
     
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     
        resp.setCharacterEncoding("utf-8");
        resp.getWriter().print("Servlet");
    }

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

 
index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


测试

 

三、配置Tomcat

1、添加本地Tomcat
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第22张图片

2、设置本地Tomcat等参数并添加artifacts

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第23张图片

3、Deployment,下面红圈部分是我们浏览器输入url时需要添加的。

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第24张图片

4、启动项目,并输入servlet的URL
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第25张图片

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第26张图片

 

四、创建好Maven项目出现的问题

1、创建好一个Maven项目时可能会出现下面的问题:插件没有下载好,因为镜像出错之类的

IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第27张图片

报错8个error:

Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5
Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:2.6
Cannot resolve plugin org.apache.maven.plugins:maven-jar-plugin:2.4
Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1
Cannot resolve plugin org.apache.maven.plugins:maven-surefire-plugin:2.12.4
Cannot resolve plugin org.apache.maven.plugins:maven-install-plugin:2.4
Cannot resolve plugin org.apache.maven.plugins:maven-deploy-plugin:2.7
Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3

解决方法:打开cmd,输入mvn help:system,检查是否可以成功下载,直到出现SUCCESS BUILD
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第28张图片

如果成功了,则回去项目重新加载刷新,三种刷新都试试。
IDEA创建Maven —— 阿里云镜像、目录结构不完整、Tomcat启动后404_第29张图片

如果失败了,看下最后的报错,复制到浏览器翻译下,出现什么无法连接阿里云,无法找到验证之类的错误,就是https引起的,先看看是不是maven-import那个地方的命令没输入,如果输入了依然错误,可能是镜像失效,也可能是maven和idea版本问题。

你可能感兴趣的:(问题解决,maven)