- 声明 : 本攻略针对的是Intellij IDEA Version 2016.2.5
- 提出问题: 很多coder对eclipse很熟悉, 但是当重新使用intellij的时候,会发现一个问题
- 就是在eclipse中, 在source folder下的文件, 如果是java文件, 会在工程设置的output folder的位置编译成class字节码文件,
- 如果是xml properties文件, 会原封不动地复制到 工程设置的output folde的位置.
- 当转型到intellij的时候, 会发现, source folder里边的java文件, 是可以如eclipse一样, 编译输出成字节码文件到output folder
- 但是source folder里边的xml properties文件, 是不会原封不动地复制到output folder里边的, intellij的编译器直接无视这些文件
- 如果需要复制配置文件到output, 必须新建一个文件夹,并且将这个文件夹右键-->mark directory as -->Resources Root, 这样才能复制到output folder里边
- 搜了一下现在国内的一些博客, 大家大多都是这么理解的, 如果要使用intellij, 就必须把源码和资源文件分开管理,
- 这样的好处是: 管理清晰, 类似于maven的工程管理模式, 资源文件和源码分开
- 这样也有坏处, 因为很多程序员之前使用的是eclipse, 习惯把配置文件和源码放在一起, 尤其是hibernate的映射文件, 类名和xml文件的名字如果起的一样, 放在一起很直观
- 那么问题是, 难道intellij必须以这种分开的方式来管理源码和资源文件嘛? 并不是的, intellij也可以像eclipse那样把source 和resource搅成一锅粥,下边来介绍怎么搞
- 这里需要注意一下,Intellij IDEA Version 2016.2.5 是有bug的, 有的时候, source下的资源文件是可以复制到目标文件夹的, 有的时候, 会被无视掉. 本文解决的问题就是, 当你的intellij不再帮你复制资源文件的时候, 你如何通过操作来让intellij自动帮你将资源文件拷贝到输出文件夹
- 我直接从朋友服务器上checkout一个项目
- 对这个项目做一些该做的配置, 比如输出文件夹啊, 库的位置啊, 还有部署一下tomcat啊
- 点运行之后, 可以看到, classes文件可以成功编译过来, 但是配置文件是过不来的
- 可以这样解决
- 之后到setting里边做如下的设置--这两步就能完全解决问题
首先打开setting 的build --> Compiler --> 把!?*.java 里边的?给删了 变成!*.java
下边打上勾
- 配置文件就都可以过来了