【问题标题】:Setup gradle on existing project structure在现有项目结构上设置 gradle
【发布时间】:2018-08-04 11:50:17
【问题描述】:

我有一个具有以下现有代码结构的 java 项目:

src
 |- package1
    |- package2
    |- package3
    |- package4
    |- tests

正如您在上面看到的那样,包含测试的包 (tests) 位于 src 目录中的一个包中。

我知道 gradle 要求 src 代码在 src/main/java/ 下,测试在 src/test/java 下。我想在这个项目上设置 gradle,但不想改变我上面显示的现有结构。

有什么方法可以将我现有的项目结构与 gradle 一起使用?

感谢任何帮助...谢谢

【问题讨论】:

  • 可能有,但只是自找麻烦。工具和开发人员期望标准结构。就用它吧。移动 3 个目录确实不是一项复杂的任务。
  • @JB_Nizet:移动 3 个目录可能是一项政治任务,这本身就很复杂,不是吗?

标签: java gradle build.gradle gradle-plugin


【解决方案1】:

希望这与请求匹配,但here 是一个示例。给定:

src/net/codetojoy/Foo.java
src/net/codetojoy/service/FooService.java
src/net/codetojoy/tests/FooServiceTestCase.java

我们可以像这样为 Gradle 配置sourceSets

sourceSets {
    main {
        java {
            srcDir 'src'
            exclude 'net/codetojoy/tests/*'
        }
    }
}

sourceSets.test.java.srcDir 'src/net/codetojoy/tests'

【讨论】:

  • 我正在使用 intellij... 在 FooServiceTestCase.java 文件中,我在包装行上收到错误消息 Package name 'net.codetojoy.tests' does not correspond to the file path ??
  • 我会在命令行上尝试我的示例,然后在命令行上尝试您的代码,最后是 IntelliJ。您的问题没有提到 IntelliJ,因此要么是单独的 Q,要么您应该更新原始问题。
  • 你是对的 - 我已经接受了你的回答并为 intellij 提出了一个新问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 2018-08-19
  • 1970-01-01
相关资源
最近更新 更多