gpt4 book ai didi

java - 对多模块 gradle 项目中模块的依赖

转载 作者:行者123 更新时间:2023-12-02 07:49:54 25 4
gpt4 key购买 nike

我在 Gradle 中有一个多模块项目。

我将通用功能重构为名为 common 的模块。

我在多模块项目的不同模块(假设 module A )中进行了测试,该项目消耗 src/main/java 下的类common的模块。

我可以从 common 导入这些类module A 测试类中的模块,但是当我运行测试时,出现以下错误:

error: package 'common.bla...' does not exist.

这是build.gradle文件 module A这取决于common模块进行测试(我已经尝试了所有这些选项):

 dependencies  {
compile project(':common')
testCompile project(':common')
testRuntime project(':common')
runtime project(':common')
implementation project(":common")
testCompile 'junit:junit:4.12'
testImplementation 'junit:junit:4.12'
implementation 'junit:junit:4.12'
testCompileOnly project(':common')
testRuntimeOnly project(':common')
testImplementation project(':common')
runtimeOnly project(':common')
testCompile project(":common").sourceSets.test.output
compile project(":common").sourceSets.test.output
testRuntime fileTree(dir: 'libs', include: ['*.jar'])
}

我还验证了在 common/build/libs 中创建了一个 jar .
我还能尝试什么?

最佳答案

在如此少的背景下回答你的问题有点困难,但无论如何让我尝试一下。据我了解,您的目录结构类似于以下内容(不包括 Gradle Wrapper 文件):

.
├── common
│   ├── build.gradle
│   └── src
│   └── main
│   └── java
│   └── common
│   └── Foobar.java
├── moduleA
│   ├── build.gradle
│   └── src
│   └── test
│   └── java
│   └── FoobarTest.java
└── settings.gradle

我可以从根目录成功运行 ./gradlew :moduleA:test (Gradle 5.6.2),文件内容如下:

./common/build.gradle

plugins {
id 'java'
}

./common/src/main/java/common/Foobar.java

package common;

public class Foobar {
public static void main(String... args) {
System.err.println("Foobar");
}
}

./moduleA/build.gradle

plugins {
id 'java'
}

repositories {
jcenter()
}

dependencies {
testImplementation project(':common')
testImplementation 'junit:junit:4.12'
}

./moduleA/src/test/java/FoobarTest.java

import common.Foobar;

public class FoobarTest {

@org.junit.Test
public void myTest() {
org.junit.Assert.assertNotNull(Foobar.class);
}
}

./settings.gradle

include 'common', 'moduleA'
<小时/>

如上所述,很难说你的错误到底来自哪里。如果您无法使用我的最小设置来修复您自己的代码,那么也许可以尝试使用 minimal, reproducible example 更新您的问题。对于您的非工作设置。

关于java - 对多模块 gradle 项目中模块的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57827650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com