美文网首页
配置Maven到IDEA,我的配置经历

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

作者: 小杨小杨神采飞杨 | 来源:发表于2020-04-12 19:59 被阅读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>
    

    这样你就可以顺利运行啦

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

    相关文章

      网友评论

          本文标题:配置Maven到IDEA,我的配置经历

          本文链接:https://www.haomeiwen.com/subject/vswbmhtx.html