java - 为什么我在我的 Maven 动态 Web 模块中收到这个 404 错误?

标签 java eclipse maven tomcat jersey

我是 Jersey/JAX-RS/RESTful Web 服务/等方面的新手。我在使用名为 jersey-quickstart-webapp 的 Jersey 原型(prototype)时遇到困难。我正在尝试将它与 Eclipse、Maven 和 Tomcat v7 或 v8 一起使用(我都试过了)。

首先我得到一个 JSP 错误:
在 Java 构建路径中找不到父类(super class)“javax.servlet.http.HttpServlet”。 我用 this SO question regarding the error 解决了这个错误.显然,Maven 并未将我的项目视为动态 Web 应用程序。

然后我收到一个警告:
构建路径指定执行环境JavaSE-1.7。工作区中没有安装与此环境严格兼容的 JRE。我用 another SO question on the matter 解决了第二个问题.我最初使用的是 JavaSE-1.8。

最后,我遇到了最后一个错误:
类路径条目 org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER 将不会被导出或发布。可能会导致运行时 ClassNotFoundExceptions。再次,我检查了此事和 excluded the associated raw classpath entry from the set of potential publish/export dependencies .

但是,我的项目仍然出现 404,我不明白为什么。我正在为此项目使用 pom.xml 文件。 tutorial I'm following告诉我在这里使用的正确 URL 是 http://localhost:8080/messenger/

最佳答案

这不是答案(将被删除)

编辑:变成了社区 wiki。这不是解决方案。

尝试将这个 jetty 插件添加到应用程序中。 <build><plugins>里面在pom.xml文件

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.2.6.v20141205</version>
</plugin>

然后右击项目,Maven -> Build;在目标对话框中输入 jetty:run并尝试运行构建。这应该启动一个嵌入式 jetty 服务器。一旦控制台显示“Jetty Server 已启动”,您应该能够访问 http://localhost:8080/webapi/myresource .只是想看看它是否是应用程序的问题。

关于java - 为什么我在我的 Maven 动态 Web 模块中收到这个 404 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202466/

相关文章:

java - 运行 `mvn appengine:set_default_version` 而不重建?

java - 无法从包中加载图像

java - 变量名未解析

eclipse - 如何更改 JBoss 错误消息的语言?

java - Maven发布使用部分

java - ActiveMQ Broker Factory 找不到用于故障转移的工厂类

java - 如何使用eclipse创建一个项目来编写JSP?

java - 用JSOUP解析HTML文档,无法选择表格节点?

java - 类型中的意外行为

java - 避免重置整型变量