我对 Visual Studio 的 IntelliJ 非常陌生,而且我通常对资源文件在 IntelliJ 项目中的工作方式感到非常困惑。我阅读了一些有关将资源添加到类路径以及 IntelliJ 文档的问题和解答,但仍然感到困惑。我还有几个问题:
- 有些问题提到maven,有些则没有。 Maven 项目与普通模块在编译和处理资源的方式上有何不同?
- 当我运行
main
IntelliJ 中的方法,它从哪里运行它?直接从编译的.class
文件,或从生成的jar
?这两者都存在于文件系统中的什么位置,有什么区别?
- 如果我只是放一个
.xml
如果文件位于源树中的某个位置,那么在 IntelliJ 中编译和运行时,IntelliJ 默认情况下会对其执行什么操作?我怎样才能改变它的放置位置?
- 运行时的类路径是什么
main
IntelliJ 中的函数?
- 如何获取包含在 jar 文件中或与编译输出一起的任意文件?
在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 将使用Resource Patterns
即使在 Maven 项目中配置,IDEA 和 Maven 之间的输出也会不同。这同样适用于 IDEA 11 及更早版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)