繁体   English   中英

IntelliJ IDEA-如何将.java文件复制为资源?

[英]IntelliJ IDEA - how to copy .java file as a resource?

我正忙于为自定义注释处理器编写集成测试。 为此,我通过Javac运行了一组特定的.java源文件,以测试我的实现。 这些由我的测试作为资源加载。 这意味着我的源代码树如下所示:

/src
  /test                            [test source root]
    /java
      MyIntegrationTest.java       [actual source code]
    /resources
      MyIntegrationClassFile.java  [should be treated as plain text]

使用IntelliJ,可以使用“编译器设置”过滤将哪些文件复制为资源。 因此,我删除了.java文件的过滤器。

但是,要复制资源,它们必须位于标记的源树中。 我也将我的资源文件夹标记为测试源(是的,这很奇怪)。

这就是问题所在:如果.java文件位于源树中(以便作为资源复制),它们将被自动编译。 我不想编译这些文件(它们可能无法编译)。

我尝试将资源添加到编译器排除列表(不从项目中排除它),但这也导致资源未被复制。

据我所知,即使已针对其他文件类型记录了此功能,也无法将.java文件标记为纯文本。

如何将.java文件标记为应复制而不是编译的纯内容?

对我来说,当我将资源文件夹添加到“编译器排除列表”时,它起作用了。

最初设定:

在此处输入图片说明

重建项目给了我这个输出:

在此处输入图片说明

现在,我将src/test/resources添加到“编译器排除列表”中:

在此处输入图片说明

重建后,我在输出文件夹中有这个:

在此处输入图片说明

使用Idea 2016.3.3,转到“项目结构”>“ src”>“测试”>“资源”,然后右键单击它并选择“ TestResources”。

然后在资源文件夹的“设置”>“构建,执行,部署”>“编译器”>“排除”中添加一个排除规则。

还可以从“设置”>“构建,执行,部署”>“编译器”>“资源”模式中删除.java扩展名(如我所见,您已经完成了此操作)。

有用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM