首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IntelliJ中将目录标记为生成的测试源根?

如何在IntelliJ中将目录标记为生成的测试源根?
EN

Stack Overflow用户
提问于 2016-07-25 06:38:42
回答 3查看 4.8K关注 0票数 8

我正在ubuntu上试用Intellij 2016.1中的Dagger2 (但不是gradle)。

Intellij分别在./out/production/<ProjectModule>/generated/./out/test/<ProjectModule>/generated_tests/中创建dagger的生成源,具体取决于它是从源目录还是从测试目录生成的。

但据我所知,我只能将这些目录标记为sources roottest sources rootgenerated sources root;比方说,generated test sources root没有选择。

为什么这很重要?因为生成的测试源依赖于我的测试源。如果它们被标记为generated sources root,那么Intellij就无法找到依赖项。

注意:我认为不应该将它们标记为test sources root,因为Intellij会再次编译这些代码;除非有某种方法可以防止这种情况发生,而我对此一无所知。

那么,是否有一种方法将该目录标记为generated test sources root或类似的东西?

EN

回答 3

Stack Overflow用户

发布于 2016-08-10 21:52:52

若要将“生成测试源根”标记为“生成测试源根”,请打开Project > Modules中的“”对话框,然后单击所选文件夹旁边的小"P“,然后选择”“按钮。

票数 7
EN

Stack Overflow用户

发布于 2016-07-25 14:27:46

在编译期间,Dagger使用注释处理来生成源。当IntelliJ启用时,Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors中的这个特性有一个特定的配置,IntelliJ会自动向项目中添加生成的源。

在启用注释处理之后,我可以看到生成的测试源被标记为Test Sources RootGenerated Sources Root。但是,当我尝试手动设置这两个标志时,它就不起作用了--我得到了标志Sources RootGenerated Sources Root

对我来说就像一只虫子。

票数 0
EN

Stack Overflow用户

发布于 2016-07-25 14:44:24

这就是对我有用的东西。在模块根目录中创建一个名为generated的目录,它下面有两个指向<ProjectRoot>/out/production/<ProjectModule>/generated/<ProjectRoot>/out/test/<ProjectModule>/generated_tests/的简单链接。将第一个标记为资源根,第二个标记为测试资源根

我创建了新的目录和simlink,因为它显示为Intillij自动标记<ProjectRoot>/out,而排除了

我将目录标记为 Resource ,这样Intellij就不会尝试将源代码编译两次到同一个类。(提示:编译器发出很大的抱怨。)

最后,没有红色的垃圾和自动完成的作品。

注意:我没有更改Intellij为模块生成的源目录。(嗯,我确实尝试了另一个答案,但改回来了。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38561161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档