Tomcat REST服务未与Intellij IDEA一起部署

Tomcat REST服务未与Intellij IDEA一起部署,rest,intellij-idea,tomcat7,Rest,Intellij Idea,Tomcat7,我刚刚切换到Intellij Idea 11,我可能遇到了一个简单的问题,我无法在Intellij IDE中找到解决方案。我有一个web应用程序,其中包含一些用javax.ws.rs中的注释标记的类,如@Path/members等,我的web.xml文件配置为处理REST调用 该应用程序是用Maven构建的,当我从命令行或通过Intellij IDE打包应用程序并手动将.war文件复制到tomcat webapps目录时,一切正常,例如,我可以从浏览器访问基于GET的服务 如果我通过Intell

我刚刚切换到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部分,因此我无法执行任何基于REST的调用,最终都会出现404错误。我在日志中看不到有关部署rest服务类的任何内容,就像我在手动部署期间所做的那样:

INFO: Adding scanned resource: com.softberries.klerk.rest.MemberResourceRESTService
因此,它确实是我错过的一个IDE配置选项,它阻止tomcat为这些注释扫描类


问题是我应该如何在IDE中配置Tomcat,使其工作方式与手动启动的相同。

使用Intellij,您需要从Tools>WebServices将类公开为web服务。 还要检查在设置>Web服务中,默认情况下Web服务的前缀路径是否正确为/Services

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

顺便说一下。。。从intellij执行部署时,应用程序将转到:

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

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

希望这有帮助,
干杯

使用Intellij,您需要从工具>web服务中将类公开为web服务。 还要检查在设置>Web服务中,默认情况下Web服务的前缀路径是否正确为/Services

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

顺便说一下。。。从intellij执行部署时,应用程序将转到:

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

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

希望这有帮助,
干杯

您检查过工件配置了吗?它是否与Maven产生了相同的war?这就是问题所在,如果我通过IDE或使用命令行中的“mvn”对其进行打包并手动部署,所有工作都会按照预期进行,但是如果我使用IDE部署,则没有rest服务。我可以在IDE控制台中看到它正在部署自己的“/conf/Catalina/localhost/ROOT.xml”文件,找不到我可以在Intellij idea中将其配置为不修改war或将其他文件发布到Tomcat的位置默认情况下idea确实通过提供指向war文件的自己的ROOT.xml文件而不是将war复制到“webapps”文件夹来部署应用程序。您可以在“项目结构”对话框中更改工件配置中的“输出路径”,将war复制到“webapps”文件夹,并从Tomcat运行配置的“部署”选项卡中删除工件,以抑制默认行为。我根本找不到IntelliJ将该应用程序部署到的位置。控制台说应用程序已部署,但它在哪里?我应该访问哪个URL?您是否检查了工件配置?它是否与Maven产生了相同的war?这就是问题所在,如果我通过IDE或使用命令行中的“mvn”对其进行打包并手动部署,所有工作都会按照预期进行,但是如果我使用IDE部署,则没有rest服务。我可以在IDE控制台中看到它正在部署自己的“/conf/Catalina/localhost/ROOT.xml”文件,找不到我可以在Intellij idea中将其配置为不修改war或将其他文件发布到Tomcat的位置默认情况下idea确实通过提供指向war文件的自己的ROOT.xml文件而不是将war复制到“webapps”文件夹来部署应用程序。您可以在“项目结构”对话框中更改工件配置中的“输出路径”,将war复制到“webapps”文件夹,并从Tomcat运行配置的“部署”选项卡中删除工件,以抑制默认行为。我根本找不到IntelliJ将该应用程序部署到的位置。控制台说应用程序已部署,但它在哪里?我要去哪个网址?