JavaWeb

【JavaWeb】IDEA创建Maven项目,配置Web项目

2018-09-21  本文已影响132人  crossous
Intellij idea

  初学JavaWeb碰到过很多坑,而如今用Maven开始项目,记录自己从头到尾的配置方法。


目录

一、Maven配置

1.更改settings.xml文件

2.配置Maven环境变量

二、Maven项目建立

1.创建Maven项目

2.配置Maven项目默认值

三、Web项目配置

1.Tomcat插件配置

2.Web项目配置


一、Maven配置

  IDEA自带了Maven的2、3版本,因此不需要上网下载,但仍然需要更改一些配置

1.更改settings.xml文件

  settings.xml文件在IntelliJ IDEA \ plugins \ maven \ lib \ maven3 \ conf目录下,用记事本或notepad++、sublime text这些编辑器打开,找到localRepository标签(善用Ctrl+F功能)。

  在本地建一个文件夹作为Maven的仓库,比如我是在D:\ Project \ Maven,将localRepository标签内的地址改为你的仓库地址(如果没有这个标签,就在settings标签下被注释的localRepository下面新建一个)

2.配置Maven环境变量

  编辑环境变量(我的电脑Win10可以按Win+S,然后打上环境的拼音(huanjing)就可进入,不同电脑进入方法有微小的差别)

  加上新的系统变量M2_HOME,以及maven文件的地址(注意,idea中要找到maven不是maven的根目录,要进到maven3的文件夹才是根目录。变量名不管是Maven2还是Maven3都要叫M2_HOME)
如上图所示,我的路径为C:\App\IntelliJ IDEA\IntelliJ IDEA 2017.2.5\plugins\maven\lib\maven3
  Maven环境配置完毕。

二、Maven项目建立

1.创建Maven项目

新建项目


选择Maven项目->创建模版->maven简单web程序 GroupId一般是公司的倒写,Artifactid是项目文件名,Version不用改 三个框分别为Maven地址、settings.xml地址、仓库地址(后两个框一开始是灰色的,要把后面的复选框点开) 不用改,直接完成 然后生成了初始项目目录 让Maven能自动导入:

2.配置Maven项目默认值

  此步骤是为了以后创建Maven不需要重新改变参数而设定默认值,可以先跳过
  如果因为此步骤发生了[ERROR] Maven execution terminated abnormally (exit code 1),并且在本文得不到解决,可以参考[ERROR]
  

更改默认地址 ,在VM Options里面填入 -DarchetypeCatalog=internal 完成。

三、Web项目配置

1.Tomcat插件配置

  配置Tomcat总是出现各种问题,直接用Maven插件解决就好。
  在自动生成的pom.xml文件的build标签下直接加入:

<plugins>
  <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
          <port>8080</port>
          <path>/</path>
          <uriEncoding>UTF-8</uriEncoding>
      </configuration>
  </plugin>
</plugins>

  注意,不要擅自将plugin标签放到自动生成的其他plugins标签内,这只会导致没反应,直接放到build标签下就不会出问题。
  以上代码可以更改的是configuration标签内的内容,通过增加、修改其中的内容,就可以像下载配置Tomcat一样更改配置。例如port是端口号,path是基本路径,uriEncoding是编码。
  如果一切正常,此刻Maven project应该会出现Tomcat7

如果你的右侧没有Maven project栏,就先去左下角的窗口中,将Maven project点出来。
  此刻已经自动生成了一个index.jsp文件,运行Tomcat7:run,就可开启服务器 此时访问http://localhost:8080/即可看到helloworld页面。
  有时我不想将页面放到右侧启动,而是和普通Tomcat一样在上面启动,可以点击上面的Edit Configurations 点加号,选择Maven 该默认的名称,下面的框打上tomcat7:run(如果没问题,在你刚打上t的时候就会出提示) 现在只要按上面绿色的三角就可以启动服务器了

2.Web项目配置

  当前状态已经可以放jsp了,只要和index.jsp在同级目录下就好,但依然不是servlet web项目,我们可以看到,当前的目录都是有缺失的,因此要在src / main目录,和webapp同级的位置新建java和resources文件,其中java就是用来承装Servlet源码的地方。

  然后配置文件夹属性: 别忘了最后点最下面的apply(应用)
  此刻在java下新建包,我命名为com.demo   在包下新建HelloWorld类 1.png
  导入包并继承自servlet类
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class HelloWorld extends javax.servlet.http.HttpServlet {
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/html");
        response.getWriter().print("Servlet project create is success!");
    }
}

  此时发现很多类都是不能被解析的(con't resolve symbol),那是因为没有依赖,此时回到pom.xml中,在dependencies(依赖)标签下增加新的依赖:

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

  此时就没有那些错误了。注:有些教程没有<scope>provided</scope>这一项,这会导致出错。
  然后回去在web.xml中添加地址映射(就在web-app标签下):

<servlet>
  <servlet-name>HelloWorld</servlet-name>
  <servlet-class>com.demo.HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>HelloWorld</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>

此时我们启动服务器,并访问http://localhost:8080/hello,即可看到结果:

成功!
上一篇 下一篇

猜你喜欢

热点阅读