IntelliJIDEA 14无法使用Tomcat运行Spring Project,但使用Eclipse可以顺利运行

时间:2014-11-09 13:19:15

标签: java eclipse spring tomcat intellij-idea

我有两个Spring项目:

项目B--是后端 项目A - 是使用后端的Rest API

我正在尝试从Eclipse迁移到IntelliJ,因此这两个项目是使用Eclipse编写的,在我将A打包到war文件中后,它们在Eclipse中使用其内部Tomcat而不是在“标准”Tomcat中工作正常。

所以问题是我只使用IntelliJ,特别是如果我在IntelliJ中部署项目。

我做了什么:

1)在IntelliJ中导入项目A并将其配置为Spring项目(它是自动检测的) 2)在IntelliJ中导入项目B并将其配置为Spring项目(它是自动检测的) 3)在项目A中添加项目B作为模块 4)配置了Tomcat 7的本地实例(但也尝试了Tomcat8) 5)运行项目

我看到:没有部署错误或任何相关但如果我在Tomcat日志中调用随机Rest方法我发现Spring Security的所有安全链都是在没有错误的情况下执行的,但它似乎跳过了代码的执行控制器(在项目A中)。我还附加了一个调试器,但由于在执行字节码执行之前执行停止,我看不到任何东西。

我是IntelliJ的新手,我确信在导入项目期间我犯了一些错误,因为他们在Eclipse或Tomcat中工作得很好,但是找不到...

更新 IntelliJ在Tomcat \ webapps中创建一个目录ROOT,并在其中复制所有项目文件。显然它不仅复制了ProjectB的jar文件,还复制了src / resources / xml以及原始项目中的所有内容。

UPDATE2(显然已解决) 显然问题只是路径问题。由于它在ROOT文件夹下部署,我可以在URL中跳过它。但无论如何,在我看来这是一种奇怪的行为......

由于

1 个答案:

答案 0 :(得分:1)

调试问题应该没有问题,所有主要运行时组件的源代码都可用(Spring,Tomcat等)。不幸的是说"执行在进入字节码执行之前就停止了#34;对于不熟悉您项目的人来说,这不是非常有帮助。

如果IDE之间存在差异,可能值得一看: 1)项目打包为WAR并部署到独立的Tomcat 2)Tomcat是从你的构建系统启动的(例如在Maven那里有tomcat7-maven-plugin)

选项2可能就是我要使用的。这样,您就不必配置IDE,因为所有内容都是从命令行运行的。