使用tomcat插件运行java web项目

1 新建javaweb项目

使用骨架创建javaweb项目,具体步骤不熟悉的参见上一篇文章【idea集成maven】。

2 添加依赖

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
    </dependency>

3 编写servlet

新建package

新建servlet,内容如图:

4 启动

在窗口右侧选择Maven Projects,点击Execute Maven Goal,输入 tomcat:run

项目运行成功,点击链接,访问 http://localhost:8080/maven_web

5 jar包冲突的处理

 点击上一步中的链接,会报如下错误:

更换为tomcat7,添加tomcat7的plugin,然后在Execute Maven Goal,输入 tomcat7:run

  <build>
    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>

      </plugins>
    </pluginManagement>
  </build>

访问后,又报如下错误:

原因:

编写代码时依赖本地仓库中的servlet-api,jsp-api,使用tomcat:run命令运行项目时,实际上使用的是maven自带的tomcat6插件,它也包含了同名的servlet-api,jsp-api,由此产生冲突。

解决办法,修改pom文件中servlet-api,jsp-api的作用域,使其只在编译时生效。

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

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

6 为插件添加模板

        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>

        <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>    

猜你喜欢

转载自www.cnblogs.com/jec1999/p/10793564.html