zoukankan      html  css  js  c++  java
  • 使用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>    
  • 相关阅读:
    line-height 对a标签在有些浏览器中不支持
    git 学习手记
    nth-child 与 nth-of-type区别
    less学习笔记(持续更新)
    如何让textarea的placeholder中的文字换行
    livereload 不刷新页面 保存文件后 浏览器自动重新刷新
    优雅降级元(CSS JS)
    vw vh vm CSS长度单位
    NODE_PATH的设置
    EF学习笔记(十二):EF高级应用场景
  • 原文地址:https://www.cnblogs.com/jec1999/p/10793564.html
Copyright © 2011-2022 走看看