• 使用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>    
  • 相关阅读:
    一致性哈希算法 CARP 原理解析, 附 Golang 实现
    springSecurity自定义认证配置
    jeecms常用的标签
    AngularJs分层结构小demo
    springSecurity入门小demo--配置文件xml的方式
    angularJs实现下拉框多选
    angularJs实现动态增加输入框
    js判断当前页面是顶级窗口
    angularJs的继承
    在angularJs实现批量删除
  • 原文地址:https://www.cnblogs.com/jec1999/p/10793564.html
Copyright © 2020-2023  润新知