Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 遗留项目结构:intellij将gradle子项目识别为模块,但不';我无法识别它的源代码_Java_Intellij Idea_Gradle_Subproject - Fatal编程技术网

Java 遗留项目结构:intellij将gradle子项目识别为模块,但不';我无法识别它的源代码

Java 遗留项目结构:intellij将gradle子项目识别为模块,但不';我无法识别它的源代码,java,intellij-idea,gradle,subproject,Java,Intellij Idea,Gradle,Subproject,对不起,标题太长了 我试图将功能测试代码与集成测试代码分离,并使用gradle任务使其正常工作。它的95%也在intellij中工作,除了每次我做“gradle想法”时,我必须添加功能测试代码 目前无法将其分离到自己的存储库或更改目录结构 目录结构如下所示 * MainProject/build.gradle * MainProject/WEB-INF/src(java source code) * MainProject/(lots of html files) * MainProject/W

对不起,标题太长了

我试图将功能测试代码与集成测试代码分离,并使用gradle任务使其正常工作。它的95%也在intellij中工作,除了每次我做“gradle想法”时,我必须添加功能测试代码

目前无法将其分离到自己的存储库或更改目录结构

目录结构如下所示

* MainProject/build.gradle
* MainProject/WEB-INF/src(java source code)
* MainProject/(lots of html files)
* MainProject/WEB-INF/functionalTest(groovy source code)
* MainProject/functional-gradle/build.gradle
我希望intellij自动检测functionalTest测试源代码是否属于functional gradle,即使它看起来应该是MainProject的一部分(但不包括在任何MainProject build.gradle源集中)

其他考虑: 我希望它是一个gradle子项目,而不是作为另一个源集的main build.gradle的一部分,因为我们当前的构建过程不是很标准,最好从一个干净的gradle石板开始,隔离功能任务所需的gradle任务(有很多)。这将使最终提取到自己的存储库更加容易

下图显示了要自动填充的intellij字段:子项目模块的测试源文件夹

gradle sutff的重要部分

sourceSets {
    test{
        groovy{
            srcDir '../WEB-INF/catTest'}
    }
}

我看了Radim的答案,似乎有gradle文档介绍了如何设置ide的IML文件

我将处理这个问题,并在我的用例中有了可用的东西后向您汇报


编辑:我放弃了,将build.gradle从根目录的外部文件夹移到了functional testing目录中。Intellij立即拿起了它。

如果您想将它作为gradle子项目,您在根目录中有settings.gradle文件吗?谢谢您的回复。是的。到目前为止,Gradle方面的工作还不错,只是intellij似乎不知道如何处理子项目的测试代码不在该子项目的主文件夹(functional Gradle)中。嗨,很抱歉响应太晚。那么,如果您从命令行运行gradle任务,它是否正确运行?如中所述,您知道intellij设置或gradle设置是否存在问题吗?不用担心!谢谢你的回复。是的,如果我从命令行运行gradle任务,它会正确运行。这是一个问题,我无法让intellij正确地、自动地执行它,而不必手动将子项目添加为测试源目录。我们必须频繁地运行GradleIDEA,我不想为新开发人员添加一个步骤来运行这个测试代码。没问题。乐意帮忙:)