IntelliJ.调试程序,即使它不编译

2022-09-03 18:05:57

我在IntelliJ中有一个编译的Java项目,现在我正在慢慢改变。

有没有办法要求IntelliJ运行项目,即使代码的某些部分仍然没有编译?如果是这样,如何?

你问我为什么需要这个?请参阅此票证:IDEA-61945 运行和调试命令应忽略与正在运行的主服务器无关的编译错误。http://youtrack.jetbrains.net/issue/IDEA-61945?query=it#tab=Comments

请不要回答这篇文章,质疑我是否应该或不应该运行一个项目,即使它没有编译。请。

如果在IntelliJ中不可能,那么在maven中可能吗?如何?


答案 1

在Intellij 12中,您还有以下选项(我个人认为这是最好的):

  • 转到编辑启动器的配置
  • 转到“启动前”部分
  • 如果“Make”在列表中:将其删除
  • 添加“制作,无错误检查”

现在,当您运行时,make仍将自动完成,但即使编译错误,运行仍将继续。

关于上述辩论;我认为能够运行一部分代码是完全有意义的,即使代码的另一部分没有编译;例如,如果代码的其他部分属于项目中的模块,但在运行时不涉及。


答案 2

我今天在工作中遇到了同样的问题。在此之前,我可能会很快跳上潮流,“你为什么要这样做?事实证明,Eclipse可以让你做到这一点,如果你开始与其他依赖此功能的开发人员同时工作(也就是说,签入不编译的代码),那么能够在IDEA中做同样的事情会很方便!

幸运的是,对于我们IDEA用户来说,你可以。按照 Eclipse 用户常见问题解答中的这些说明进行操作,您就可以开始了:

为了能够运行有错误的代码,可以在“设置”对话框的“编译器”、“Java 编译器”中选择 Eclipse 编译器,然后将 -continueOnError 选项添加到编译器的“其他命令行参数”中。

唯一蹩脚的是它不像Eclipse那样无缝。首先,您必须取消选中“运行前制作”选项,因为如果 make 失败,IDEA 将无法运行。然后,您必须记住在运行之前进行构建。但是,有了这些警告,您应该能够完成您想要完成的目标。


推荐