配置Maven到IDEA,我的配置经历

2020-04-12  本文已影响0人  小杨小杨神采飞杨

配置Maven到IDEA,我的配置经历

今天本小白终于接触到了经常在大佬口中听到的,Maven,了解一番后发现确实是让人眼前一亮的工具,但是在配置的过程中,碰到了非常多让人头疼的Exception!,不知道将来还有多少人会和我一样被这个配置中的一些问题气到,所以在这里记录下我配置Maven到顺利运行的全过程,希望能给第一次配置的你一份参考!!

首先Maven的作用我就不过多赘述了,直接开干!

1、安装Maven

安装Maven是很轻松的一件事,他和Tomcat一样,下载到压缩包,直接解压即可,但是要注意路径中不能出现中文

目录结构

这就是Maven的目录结构啦,conf里装的是配置文件,maven_repository是我自己配置的本地库,Maven有本地库和远程库,远程库就是你的本地库里没有需要的jar包时,Maven会自动帮你去远程库下载,当然,不翻墙能下一年~~

2、远程库

所以啦,一定要将远程库改为国内的,阿里巴巴的Maven库就是很不错的选择

首先打开conf文件夹下的settings.xml,先将默认本地库路径改为你自定义的路径,默认在C盘,你也不想你的C盘分分钟挤满吧

settings.xml

修改最后一行,中间填你的地址就可以了

然后将远程库改为阿里巴巴的,可以提升下载速度

<mirror>  
      <id>alimaven</id>  
      <name>aliyun maven</name>  
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
      <mirrorOf>central</mirrorOf>          
</mirror>  

将这段代码添加到147行(大概)的<mirrors></mirrors>标签中就可以啦

3、在IDEA中添加Maven

设置IDEA的Maven

在设置里直接搜索maven,如图设置,就是你解压maven的路径,之后建议将Runner下的VMoption设置为

-DarchetypeCatalog-internal,可以不用每次都下载,有本地的就直接使用本地的

4、创建Maven的Web项目,Maven的Java项目我没有遇到什么问题,一路通畅,感觉不是很麻烦,所以只演示创建Web项目

创建项目

使用骨架创建Web项目,左边选择Maven,将Create……的那个选项勾上,选择webapp的骨架,点击next

设置名称

之后第一个是企业名称,第二个是项目名称,之后一路next即可,进入IDEA后,会自动下载,因为更换了阿里巴巴的Maven库,下载的还是很快的

5、创建文件

使用骨架创建web项目,目录结构中缺少一个java包,需要手动创建,并右键,点击Mark Directory as,选择Sources Root,这样java文件夹就可以创建java文件了

无法继承

此时创建servlet类,是继承不了HttoServlet的,因为还没有引入jar包的坐标,在Maven中,jar包不再和项目放在一起,而是放在本地库中,只需要在项目中,设置jar包的坐标,即可正常使用,所以大大减小了因为jar包带来的项目容量

打开pom.xml,添加以下代码

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope> //表示该jar包只在编译时使用
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

因为自带的Tomcat插件内有关于servlet和jsp的jar包,若不将此处的坐标设置为<scope>provided</scope>,则会出现第一个错误,无法识别该类为servlet类

写好一段简单的跳转代码,跳转到写好的jsp页面,此时点击

侧边栏

这个Maven,再点击那个大大的M

大大的M

输入tomcat:run,就可以运行项目啦

啊哦,报错了,为啥呢?

首先你创建的servlet类在web.xml文件中并没有正确配置,IDEA自己帮你配置的Web.xml没有配置<Servlet-mapping>,其次,如果你使用注解配置,那么需要导入3.0的Servlet,而内置的tomcat6.0是不支持3.0的servlet的,此时你需要导入tomcat的配置,最好在导入jdk1.8的配置,我们一个一个来

首先如果你不打算使用注解配置servlet,那么你需要自己补上servlet-mapping的配置

<servlet-mapping>
    <servlet-name>myServlet</servlet-name>-->
    <url-pattern>/myServlet</url-pattern>-->
</servlet-mapping>

若你打算使用注解配置,则需要导入servlet3.0的坐标,同样设置为provided

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

之后你需要导入tomcat7的配置,在最末尾的<build>标签内导入

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <!-- tomcat7的插件, 不同tomcat版本这个也不一样 -->
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <!-- 通过maven tomcat7:run运行项目时,访问项目的端口号 -->
        <port>80</port>
        <uriEncoding>utf-8</uriEncoding>
        <path>/myMaven</path>
    </configuration>
</plugin>

还有jdk1.8的配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <target>1.8</target>
        <source>1.8</source>
        <encoding>utf-8</encoding>
    </configuration>
</plugin>

这样你就可以顺利运行啦

这只是我个人配置时遇到的错误,也许你不会遇到任何错误,也许你会碰到别的错误,但是当你碰到错误时,可以看看这些配置你是否都做了,如果还是不行,面向百度编程,你懂吧

上一篇下一篇

猜你喜欢

热点阅读