Tomcat REST 服务未使用 Intellij IDEA 部署

发布于 2025-01-04 23:44:43 字数 696 浏览 2 评论 0原文

我刚刚切换到 Intellij Idea (11),我遇到了可能很简单的问题,在 Intellij IDE 中找不到解决方案。我有一个 Web 应用程序,其中包含一些标有来自 javax.ws.rs 的注释的类,例如: @Path("/members") 等和我的 web.xml 文件配置用于处理 REST 调用。

该应用程序是使用 Maven 构建的,当我从命令行或通过 Intellij IDE 打包应用程序并手动将 .war 文件复制到 tomcat webapps 目录中时,一切正常,例如。我可以从浏览器访问基于 GET 的服务。

如果我通过 Intellij IDE 中配置的 tomcat 部署应用程序,应用程序可以运行,但没有 REST 部分,因此我无法执行任何基于其余的调用(最终都会出现 404 错误)。我在日志中看不到任何关于部署休息服务类的信息,就像我在手动部署期间所做的那样:

INFO: Adding scanned resource: com.softberries.klerk.rest.MemberResourceRESTService

所以它绝对是我错过的一个 IDE 配置选项,它阻止 tomcat 扫描此注释的类。

问题是我应该如何在 IDE 中配置 Tomcat,使其像手动启动一样工作。

I have just switched to Intellij Idea (11) and I'm having possibly simple problem for which I cannot find a solution within Intellij IDE. I have a web application which contains some classes marked with annotations from javax.ws.rs like eg. @Path("/members") etc and my web.xml file configured for handling REST calls.

The application is build with Maven, when I package the application either from command line or through the Intellij IDE and copy the .war file into tomcat webapps directory manually, all works fine, eg. I can access GET based services from the browser.

If I deploy the application through configured tomcat in Intellij IDE the application works but without the REST portion, so I'm not able to execute any rest based calls (all end up with 404 error). I cannot see anything in logs about deploying rest service classes like I do during manual deployment:

INFO: Adding scanned resource: com.softberries.klerk.rest.MemberResourceRESTService

so its definitively an IDE configuration option I've missed which prevents tomcat from scanning classes for this annotations.

The question is how should I configure my Tomcat within the IDE to work the same as started manually.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟─花易冷 2025-01-11 23:44:43

使用 Intellij,您需要从“工具”>“将类公开为 Web 服务”网络服务。
另请检查“设置”>“ Web 服务,Web 服务的前缀路径正确(默认为 /services)。

这里有一个关于如何在 intellij 中创建 Web 服务的很好的教程。

http://www.academia.edu/4526516/Creating_Web_Services_Applications_with_IntelliJ_IDEA

顺便说一下...当您从 intellij 进行部署,应用程序将转到:

C:\Users\userName.IntelliJIdea10\system\tomcat\NameDeploy”

此信息在控制台中显示为:“Using CATALINA_BASE”:.../path...

希望这有帮助,
干杯

with Intellij you need to expose the classes as web services from Tools > WebServices.
Also check that in Setting > Web Services, the prefix path for web service is correct (by default is /services).

Here you have a nice tutorial about how to create webservices in intellij.

http://www.academia.edu/4526516/Creating_Web_Services_Applications_with_IntelliJ_IDEA

By the way... when you do a deploy from intellij, the application goes to:

C:\Users\userName.IntelliJIdea10\system\tomcat\NameDeploy"

This info appears in the console as: "Using CATALINA_BASE": .../path...

Hope this helps,
Cheers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文