我是从 Eclipse 迁移到 IntelliJ 的用户。我的大多数项目都包含一个位于项目根目录下的资源文件夹,而现在在这种情况下它是一个模块。 . 以上目录中的字体文件夹被代码用于加载渲染所需的字体。问题在于,在IntelliJ中,编译目标是项目文件夹本身,因此无法检测到字体。您可以通过手动编辑运行配置来解决这个问题,以便工作目录位于模块根目录中。我的问题是,我是否可以以某种方式更改IntelliJ的默认行为,使其对每个项目都具有此行为,而不必每次手动执行?也就是说,默认情况下,程序的目标工作目录始终是类所在模块的根文件夹。提前致谢!
问题在于,在IntelliJ中,编译目标是项目文件夹本身。当构建项目/模块时,IDE将源代码/资源/生成的源代码/测试源代码等类型的所有文件/源文件都包含在编译类路径中。此外,请注意,对于Maven(Gradle)项目,IDE会从Maven pom.xml文件中获取配置,包括编译器配置。默认情况下,Maven不会处理(复制)来自带有源代码的目录的资源文件。您需要在pom.xml中明确配置它,或将资源文件移动到将成为资源类型的文件夹中。现在关于主要问题:手动编辑运行配置,使工作目录位于模块根目录。我的问题是,我是否可以以某种方式更改IntelliJ,使其在每个项目中默认具有此行为,而无需每次手动执行?你可以更改运行/调试配置模板。
getResourceAsStream
或等效方法从类路径中加载。 - chrylis -cautiouslyoptimistic-