gpt4 book ai didi

java - Gradle 从外部依赖运行 MainClass

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:25 24 4
gpt4 key购买 nike

我有两个 gradle 配置的项目,projectA 和 projectB。 ProjectA是一个Spring Boot项目,有两个主要类,一个在直接运行projectA时运行,另一个在运行projectB时运行(参见下面的gradle文件)。 ProjectA 导出为 JAR,并声明为 projectB 的依赖项。 ProjectB 将 projectA.jar 中的一个类指定为其主类:

//ProjectB's build.gradle


apply plugin: 'application'

mainClassName = 'com.projectA.api.MainClassToBeRunInProjectB'

/**
* `verify` task, `run` task to be exact
*/
task verify(dependsOn:run)

dependencies{
compile (group:'com.projectA.api',name:'api-ProjectA-jar',version:'1.0.0')
}

//Download artifacts
repositories {
mavenLocal()
maven {
url 'http://nexus.projectJarLocations.local/nexus/content/groups/public/'
}
mavenCentral()
}

在projectB中运行验证步骤时,构建失败,如下所示:

acidnbass:projectB acidnbass$ gradle clean verify

> Task :run
Error: Could not find or load main class com.projectA.api.MainClassToBeRunInProjectB


FAILURE: Build failed with an exception.

为什么我无法运行projectA 中的主类?从外部源运行主类是否需要额外的配置?

最佳答案

可以通过设置这样的任务来实现:

task runApp(dependsOn: configurations.compileClasspath, type: JavaExec) {
group = "app"
classpath = sourceSets.test.runtimeClasspath
main = 'com.projectA.api.MainClassToBeRunInProjectB'
}

并通过添加依赖项作为实现

dependencies{
implementation('com.projectA.api:api-ProjectA-jar:1.0.0')
}

关于java - Gradle 从外部依赖运行 MainClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49640195/

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