我是视觉工作室的IntelliJ新手,我对IntelliJ项目中资源文件的工作原理感到困惑。我读了几个问题&有关将资源放入类路径以及IntelliJ文档的答案,但我仍然感到困惑。我还有一些问题:
main
方法时,它从哪里运行?直接来自已编译的.class
文件,还是来自生成的jar
?文件系统中哪些都存在,哪些区别?.xml
文件,那么IntelliJ在IntelliJ中编译和运行时默认使用它做什么?我怎样才能改变它的位置?main
函数时的类路径是什么?答案 0 :(得分:5)
在Maven项目中,IDE遵循Maven规则来处理资源,以便在命令行Maven构建和IDEA构建之间获得一致的结果。如果Maven将资源复制到类路径,IDEA也会这样做。
从模块的类路径及其依赖项中,通常使用.class
文件。
在非Maven项目中,根据Settings
|将资源复制到输出Compiler
| Resource Patterns
。在Maven项目中,资源根据pom.xml
资源规则进行处理。 resources
文件夹中的文件会自动复制。需要使用pom.xml
手动将其他文件夹添加到资源中。
您可以在运行控制台中打印的命令行中查看类路径。
在Maven项目中使用resources
文件夹。在非Maven项目中,该文件应位于源根目录下,并且其扩展名必须存在于Resource Patterns
配置中。
另请注意,如果您使用遗留编译(External Build
已禁用),IDEA将在Maven项目中使用Resource Patterns
配置,并且IDEA和Maven之间的输出将不同。这同样适用于IDEA 11和旧版本。