java - IntelliJ IDEA 14 无法使用 Tomcat 运行 Spring 项目,但使用 Eclipse 可以顺利运行

标签 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 的所有安全链都没有错误地执行但它似乎跳过了代码的执行 Controller (在项目 A 中)。我还附加了一个调试器,但由于在进入字节码执行之前执行停止,所以我看不到任何东西。

我是 IntelliJ 的新手,我确信我在导入项目时犯了一些错误,据称它们在 Eclipse 或 Tomcat 中工作得很好,但无法找出位置......

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

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

谢谢

最佳答案

调试问题应该没有问题,所有主要运行时组件的源代码都可用(Spring、Tomcat 等)。不幸的是,对于不熟悉您的项目的人来说,“执行在进入字节码执行之前停止”并不是很有帮助。

如果您在 IDE 之间存在差异,可能值得看看在以下情况下会发生什么: 1)项目打包成WAR部署到standalone Tomcat 2) Tomcat 从您的构建系统启动(例如,在 Maven 中有 tomcat7-maven-plugin)

选项 2 可能是我会使用的。这样您就不必配置 IDE,因为一切都是从命令行运行的。

关于java - IntelliJ IDEA 14 无法使用 Tomcat 运行 Spring 项目,但使用 Eclipse 可以顺利运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828610/

相关文章:

Java SWT 不需要的系统蜂鸣声

java - java卡牌游戏遇到问题

java - 如何准备和提供测试数据

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'JDODETACHEDSTATE' in 'field list'

java - Spring/JTA/JPA 单元测试 : Rollback not working

spring - CommandLineRunner 需要一个无法找到的 bean

spring - Docker错误解决了http://es.example/oauth/check_token的POST请求上的主机和I/O错误拒绝连接

java - 为什么我会出现无法调用类布局.XmlLayout 中的工厂方法?

java - 在java中使用AVL树

java - 未找到 com.sun.jersey.core.header.FormDataContentDisposition 类的消息正文阅读器