[英]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.