资源未复制到IntelliJ 12.1.4中的输出路径

veg*_*4me 16 intellij-idea

我似乎已经做了一些事情来告诉IntelliJ不要将源资源(例如XML和属性文件)复制到编译器输出文件夹.

资源未复制到编译器输出路径.测试资源将复制到测试输出文件夹,但不会复制资源.

源文件夹: src

(这是C:\dev\myproject\src包含XML文件)

测试源文件夹: tests\integration\src

(这是C:\dev\myproject\tests\integration\src包含XML文件)

编译器输出:

  • 使用模块编译输出路径
  • 输出路径: C:\dev\myproject\build\classes
  • 测试输出路径: C:\dev\myproject\build\test

设置 - >编译器 - >资源模式: ?*.properties;?*.xml;?*.gif;?*.png;?*.jpeg;?*.jpg;?*.html;?*.dtd;?*.tld;?*.ftl

这阻止我运行从类路径加载文件的集成测试.(我没有完全控制这个遗留项目的结构,大多数其他开发人员都使用Eclipse.)

任何人都可以给我一些指示,我需要做什么才能让IntelliJ将资源复制到输出文件夹?

Chr*_*ris 5

我使用Maven在IntelliJ IDEA 13上遇到了同样的问题.

我通过将它添加到pom.xml文件中的构建标记来解决它:

<build>
...
<resources>
  <resource>
    <directory>src/com</directory>
    <targetPath>com</targetPath>
    <includes>
      <include>**/*.xml</include>
    </includes>
  </resource>
</resources>
...
</build>
Run Code Online (Sandbox Code Playgroud)

根据您的项目更改路径.有关Maven Resources插件的更多信息,请点击此处.


Kar*_*bak 3

我也遇到过同样的问题。Idea 似乎在具有 Maven 依赖项的项目中存在错误。

到目前为止我能找到的解决方法:

  1. 禁用外部构建。
  2. 生成一个 ant 构建脚本(Idea 会为您完成此操作)并使用该脚本进行编译。

一旦您使用任一方式成功创建了工件,Idea 就会继续使用它们,直到下一次 Maven 依赖项更改为止。

  • 对于那些使用 IntelliJ IDEA 13 的人来说,外部构建是唯一可用的选项,因为旧的编译器已被删除。因此,您不会找到任何“使用外部构建”复选框并禁用它。 (3认同)