当前位置: 首页 > 知识库问答 >
问题:

如何访问只有一个类从不同的模块在多模块Spring启动应用程序Gradle?

柯建业
2023-03-14

我的多模块spring boot应用程序中有两个模块(模块A和模块B),使用gradle构建

现在spring boot模块的< code>Main类出现在模块a中。现在我想访问模块b中的这个< code>Main类。

在模块B中,我想编写集成测试用例,在一个测试用例类上,我想在SpringBootTest注释中提到Mainclass。大致如下:

@SpringBootTest(classes = Main.class,
webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
class TestController {

}

但在这里我找不到Main类。为了支持这一点,我需要对模块B的gradle文件进行哪些更改?

共有1个答案

高经艺
2023-03-14

最好将项目拆分为多个模块。您的 settings.gradle 和 build.gradle 应该看起来像这样:

settings.gradle

include 'moduleA'
include 'moduleB'

moduleB/build.gradle

dependencies{
  implementation project(':moduleA')
}

更多信息:https://docs.gradle.org/current/userguide/multi_project_builds.html

如果您真的只想将该类作为源文件,那么这应该可行:

sourceSets {
    main {
        java {
            srcDirs 'path/to/the/class'
        }
    }
}
 类似资料:
  • 我在多模块项目中工作。目前我面临以下问题: > 模块A 模块B 模块A依赖于B 模块A有以下方法@GetMapping(path=“/GetWorkspace”) } 模块B有以下方法,我需要使用模块A提到的endpoint 公共字符串consumeModuelAMethod(){ 当我从模块A通过RestTemboard调用“http://localhost:8080/getworkspaces

  • 尝试在JMX控制台中注册MBean时,我收到以下错误消息: 我正在使用Eclipse,我的项目结构中没有文件。 当我注释我对javaeeapi的依赖关系时,错误消失了,但是包不是JAR的一部分。

  • 我有1个应用程序和2个模块 框架结构 但我不能在MyApp中使用MyModule的文件。IDE显示我“无法访问”错误,我想扩展一个MyModule类的类。而且它不是从MyModule创建类的,有人对此有想法吗?怎么了?

  • 我的环境: Java 11 不确定如何修复此错误:

  • 我的项目在Java1.8u151中运行良好。我正在尝试将它升级到Java12,但是我得到了以下错误。 这是唯一的错误,在Java12中的大多数包中都会重复出现,但在Java8中效果良好。 我已尝试将所有jar文件从模块路径移动到类路径。模块路径中只有Java 12库。我在Java版本的软件包中寻找任何不推荐的东西。我用不同的Java版本尝试了3种不同的系统(都运行OS-X10.13.6、10.13

  • 原因:java.lang.IllegalAccessException:模块javafx.base无法访问类application.Customer(在模块FCR中),因为模块FCR没有向javafx.base打开应用程序 在javafx.base/com.sun.javafx.property.methodHelper.invoke(MethodHelper.java:69) 在javafx.b