Fgo*_*gop 3 java intellij-idea maven
我在使用 IntelliJ 进行 Spring 开发时遇到问题。起初,IntelliJbuild命令工作正常并接受我对源代码所做的更改。在某些时候,这会停止工作,我只能通过 Maven 编译我的源代码,因为buildorrebuild project命令似乎不再执行任何操作。
我很困惑,因为它在开始时按预期工作,但随后在某个时候停止工作。
重新创建的步骤:
使用 Spring Initializr 创建一个新的 Spring 项目:
curl https://start.spring.io/starter.zip -d type=maven-project -d javaVersion=11 -o demo.zip && unzip demo.zip
从该文件夹中的命令行启动 IntelliJ,这将自动导入项目:idea64 .
在主类中写入日志消息并使用 运行项目Run->Run 'DemoApplication'。这会将源代码编译到target文件夹并启动项目。您应该看到日志消息
更改日志消息,再次运行,更改应该可见(到目前为止一切顺利)
现在通过 maven 命令重新编译源mvn compile并重新启动 IntelliJ
从现在开始,运行build或rebuild project在 IntelliJ 中运行将不会拾取我对任何源文件所做的任何更改。事实上,这两个命令似乎根本没有做任何事情。我必须通过 Maven 进行编译才能正确编译我的源代码
我尝试了一些方法来解决这个问题,但没有成功:
project settings为Project Compiler Output<project-folder>/targetproject settings/modules并放入上面output path的test output path路径中Reimport All Maven Projects.idea项目文件夹中的文件夹。这似乎有效,但非常不方便,而且肯定不是预期的行为。如果我重新创建上面详细说明的步骤,它也会再次中断。有人遇到类似的问题和/或有解决方案吗?
因此,对于遇到我上面描述的问题的任何人:
显然删除该.idea文件夹并重新启动 IntelliJ 确实可以解决问题。该文件夹在重新启动时重新创建,之后我可以在使用run、build或在 IntelliJ 中进行编译rebuild project和通过 Maven 目标(mvn compile、mvn test、mvn surefire:test、 ...)进行编译之间进行切换。通过重新启动 IntelliJ,这种情况仍然存在,这样我就不必每次打开项目时都重复此操作。
我仍然不知道为什么会发生这种行为,但这是一个我很乐意使用的解决方案,只要我只需要时不时地为一个项目这样做。
听起来好像不想要 Intellij 的默认构建。您希望 Intellij 将构建命令转发到 mvn。我之所以这么认为,是因为您在问题中没有提到这一步。
这是显示如何启用它的屏幕截图:
更多详细信息请参阅 Intellij 文档https://www.jetbrains.com/help/idea/delegate-build-and-run-actions-to-maven.html#delegate_run_action
| 归档时间: |
|
| 查看次数: |
6967 次 |
| 最近记录: |