【问题标题】:Why cannot run Java web app on Tomcat 8 if on maven pluggin Tomcat 7 it is working?如果在 Maven 插件 Tomcat 7 上运行,为什么不能在 Tomcat 8 上运行 Java Web 应用程序?
【发布时间】:2019-01-03 02:17:51
【问题描述】:

我有一个基于 Maven 的简单项目。我在 pom.xml 中使用 tomcat 7 的插件:

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <path>/</path>
      <port>9090</port>
  </configuration>
</plugin>

当我使用这个 Tomcat 7 插件通过 Intellij 运行我的项目时,一切正常。问题是当我配置到 Intellij 时,例如Tomcat 8,当我运行它时,我得到了如下所示的通信:

HTTP Status 404 – Not Found

Type Status Report

Message Not found

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

在插件 Tomcat 7 上一切正常,但在 Tomcat 8 上不起作用(没有插件,只是简单配置)的原因是什么?

我的 web.xml 文件如下所示:

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>

    <servlet>
        <servlet-name>ServletAddAdvertisement</servlet-name>
        <servlet-class>com.tom.servlets.ServletAddAdvertisement</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ServletAddAdvertisement</servlet-name>
        <url-pattern>/ServletAddAdvertisement</url-pattern>
    </servlet-mapping>

</web-app>

我认为在部署过程中 Tomcat 看不到 war 文件。应该有某种方法可以通过部署描述符来指定/配置它。当我在 Tomcat 8 上手动部署 myPorject.war 文件时,一切正常。

谢谢。

【问题讨论】:

  • 在 Intellij 中配置服务器时,有一个选项 Edit Configuration -> Tomcat Server -> Deployment -> 你需要选择欣赏 Artifact。
  • 我想您的评论是您自己问题的解决方案。在这种情况下,请将其添加为答案,这样问题就不会一直悬而未决。很高兴看到你解决了它:-)

标签: java tomcat intellij-idea tomcat7 tomcat8


【解决方案1】:

在 Intellij 中配置服务器有一个选项 Edit Configuration -> Tomcat Server -> Deployment -> 你需要选择欣赏 Artifact。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2011-12-09
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多