Intellij idea IntelliJ 12.1.4中未将资源复制到输出路径

Intellij idea IntelliJ 12.1.4中未将资源复制到输出路径,intellij-idea,Intellij Idea,我似乎已经告诉IntelliJ不要将源资源(例如XML和属性文件)复制到编译器输出文件夹 未将资源复制到编译器输出路径测试将资源复制到测试输出文件夹,但不复制源资源 源文件夹:src (这是C:\dev\myproject\src,包含XML文件) 测试源文件夹:tests\integration\src (这是C:\dev\myproject\tests\integration\src,包含XML文件) 编译器输出: 使用模块编译输出路径 输出路径:C:\dev\myproject\buil

我似乎已经告诉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将资源复制到输出文件夹中?

我也遇到过同样的问题。Idea似乎在具有maven依赖项的项目中存在缺陷

到目前为止,我能找到的解决办法是:

  • 禁用外部生成
  • 生成一个ant构建脚本(Idea会为您这样做)并使用该脚本进行编译
    一旦您以任何一种方式成功地创建了工件,Idea将继续使用它们,直到下一个maven依赖项更改

    我对使用Maven的IntelliJ IDEA 13也有同样的问题

    我通过将其添加到pom.xml文件中的build标记中解决了这个问题:

    <build>
    ...
    <resources>
      <resource>
        <directory>src/com</directory>
        <targetPath>com</targetPath>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
    ...
    </build>
    
    
    ...
    src/com
    通用域名格式
    **/*.xml
    ...
    

    根据您的项目更改路径。有关的详细信息。

    对于jpa,当您添加jpa方面时,Intellij创建:

    META-INF/persistence.xml under src/main/java
    
    但它不会更新构建

    将此添加到pom.xml以修复此问题:

    <resource>
      <directory>src/main/java</directory>
      <includes>
         <include>**/*.xml</include>
      </includes>
      <filtering>true</filtering>
    </resource>
    
    
    src/main/java
    **/*.xml
    真的
    
    使用Gradle时,请尝试将资源添加到
    源集中(如果资源文件与源文件位于同一文件夹中,请使用下面的代码,否则请调整路径)


    请参阅

    如果它不是Maven项目,它应该可以正常工作,否则它就是一个bug,需要通过示例项目来重现。作为一种解决方法,您可以尝试,但不建议这样做。我已经选择了。我已经解开它,它现在正在工作!但还有一些其他开发人员确实使用IntelliJ,他们勾选了它,并按照预期复制了资源。如果您有测试用例,请报告错误。我遇到了相同的问题:测试资源没有复制到输出文件夹。在我尝试为CrazyCoder创建测试用例时,我重新启动了IntelliJ,这似乎解决了我的问题!所以我没能重现我的问题。很抱歉,我只能建议重新启动IntelliJ,因为这是我修复它的方法。对于使用IntelliJ IDEA 13的用户,外部构建是唯一可用的选项,因为旧的编译器已被删除。因此,您不会找到任何“使用外部构建”复选框并禁用它。
    sourceSets {
        main {
            java {
                srcDirs 'src'
            }
            resources {
                srcDirs 'src'
            }
        }
        test {
            java {
                srcDirs 'test'
            }
            resources {
                srcDirs 'test'
            }
        }
    }