簡體   English   中英

為什么在我的Maven動態Web模塊中收到此404錯誤?

[英]Why am I receiving this 404 Error in my Maven Dynamic Web Module?

我是Jersey / JAX-RS / RESTful Web Services /等的新手。 而且我遇到了一個叫做jersey-quickstart-webapp的Jersey原型。 我正在嘗試將其與Eclipse,Maven和Tomcat v7或v8一起使用(我都嘗試過)。

首先,我遇到了一個JSP錯誤:
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path. 我通過關於錯誤的SO問題解決了該錯誤 顯然,Maven並未將我的項目視為動態Web應用程序。

然后我得到了一個警告:
Build path specifies execution environment JavaSE-1.7. There are no JREs installed in the workspace that are strictly compatible with this environment Build path specifies execution environment JavaSE-1.7. There are no JREs installed in the workspace that are strictly compatible with this environment 我用第二個SO問題解決了第二個問題。 我最初使用的是JavaSE-1.8。

最后,我有最后一個錯誤:
Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result. 再次,我對此事進行了檢查,並從潛在的發布/導出依賴項集中排除了相關的原始classpath條目

但是,我的項目上仍然顯示404,我不知道為什么。 我正在為此項目使用pom.xml文件。 我正在遵循教程告訴我,此處使用的正確URL是http://localhost:8080/messenger/

這不是答案(將被刪除)

編輯:變成社區Wiki。 這不是解決方案。

嘗試將此碼頭插件添加到應用中。 pom.xml文件的<build><plugins>內部

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

然后右鍵單擊項目,Maven-> Build; 在目標對話框中,鍵入jetty:run並嘗試運行構建。 這應該啟動嵌入式碼頭服務器。 控制台顯示“ Jetty Server啟動”后,您應該可以訪問http://localhost:8080/webapi/myresource 只想看看應用程序是否有問題。

快速臨時解決方案:

變化的WebAPI在URL webresources: HTTP://本地主機:8080 /的WebAPI / myresource

永久解決方案:

更改文件web.xml

<url-pattern>/webresources/*</url-pattern>

<url-pattern>/webapi/*</url-pattern>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM