首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle从外部依赖项运行MainClass

Gradle从外部依赖项运行MainClass
EN

Stack Overflow用户
提问于 2018-04-04 06:49:21
回答 1查看 289关注 0票数 2

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

代码语言:javascript
复制
//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中运行验证步骤时,构建失败,如下所示:

代码语言:javascript
复制
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运行主类?从外部源运行主类是否需要额外的配置?

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 00:26:59

可以像这样设置一个任务:

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

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

代码语言:javascript
复制
dependencies{
    implementation('com.projectA.api:api-ProjectA-jar:1.0.0')
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49640195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档