我有一个名为“另一个”的项目。它具有2个彼此之间没有任何关系的程序。程序是“ abc.java”和“ def.java”。 这两个程序都用于打印“ Hello World”。 如果“ abc.java”没有任何错误,则即使“ def.java”没有任何错误,也只有编译器编译“ def.java”。 我必须为我制作的每个程序创建一个项目吗?我是编程新手。
when I removed a semicolon from abc.java, def.java stops working
答案 0 :(得分:2)
首先,在IntelliJ中,您不是根据“程序”来考虑,而是根据“项目”和“模块”来考虑。最基本的项目是单个模块所在的项目(例如,位于 D:\ projects \ MyProjects 的项目,其中一个模块位于 D:\ projects \ MyProjects )。
我会想到哪里出错了:
编译器错误应阻止您执行程序,以防止应用程序出现异常。对我来说,如果其他模块有任何编译器错误,同时又成为执行模块的依赖项,则我将无法执行模块。但不确定是否有工具/插件导致此行为。
此外,您可以检查是否正确设置了模块。如果您的配置看起来类似,请检查上面的图像。
希望我能帮助您。如果没有,也许更新您的帖子,提供一些如我所示的设置和配置的屏幕截图。
答案 1 :(得分:0)
在执行其他任何操作之前,先获取您的定义和术语。
然后告诉别人你在做什么。
如上所述,IntelliJ(甚至所有现代IDE)都有模块和项目。当您在模块中执行目标时,如果需要,将构建整个模块。
如果“ abc.java”没有任何错误,那么即使“ def.java”没有任何错误,编译器也只能编译“ def.java”
这毫无意义。编译器将编译需要编译的任何内容。但是很可能您不是在谈论编译,而是单击“运行”按钮,它将运行配置为运行的所有内容。
如果您仅设置了1种运行配置,则总是按该按钮即可运行。 如果要在不创建显式运行配置的情况下运行某些程序,只需右键单击开源文件,然后选择“运行”。
这将导致模块中所有已更改的源代码都被编译,没有关于“尽管y没有错误却编译x”的巨大提示。 它还将尝试编译所有确实有错误并失败的东西。