gpt4 book ai didi

java - gradle 构建中缺少 mainClassName 属性的 Gradle 错误

转载 作者:行者123 更新时间:2023-12-03 12:01:43 25 4
gpt4 key购买 nike

我有两个子项目的 graddle 配置,当我想构建项目时,会抛出以下错误:

Executing external task 'build'...
:core:compileJava
:core:processResources UP-TO-DATE
:core:classes
:core:jar
:core:startScripts FAILED

FAILURE: Build failed with an exception.

* What went wrong:
A problem was found with the configuration of task ':core:startScripts'.
> No value has been specified for property 'mainClassName'.

我的配置:
根 - build.gradle:
subprojects {

apply plugin: 'java'
apply plugin: 'application'

group = 'pl.morecraft.dev.morepianer'

repositories {
mavenLocal()
mavenCentral()
}

run {
main = project.getProperty('mainClassName')
}

jar {
manifest {
attributes 'Implementation-Title': project.getProperty('name'),
'Implementation-Version': project.getProperty('version'),
'Main-Class': project.getProperty('mainClassName')
}
}

}

task copyJars(type: Copy, dependsOn: subprojects.jar) {
from(subprojects.jar)
into project.file('/jars')
}

根 - setting.gradle:
include 'app'
include 'core'

APP 项目 - build.gradle:
EMPTY
核心项目 - build.gradle:
dependencies {
compile 'com.google.dagger:dagger:2.4'
compile 'com.google.dagger:dagger-compiler:2.4'
}

和两个子项目(类似) - gradle.properties:
version = 0.1-SNAPSHOT
name = MorePianer Core Lib
mainClassName = pl.morecraft.dev.morepianer.core.Core

我尝试在很多地方添加 mainClassName 属性,但它不起作用。更奇怪的是,它在几天前有效。我第一次使用 gradle,我正在考虑切换回 maven。

最佳答案

application插件在捆绑应用程序时需要知道主类。

在您的情况下,您应用 application每个子项目的插件,而无需为每个子项目指定主类。

我遇到了同样的问题,并通过指定与 apply plugin: 'application' 相同级别的“mainClassName”来修复它。 :

apply plugin: 'application'
mainClassName = 'com.something.MyMainClass'

如果你想在 gradle.properties 中指定它文件你可能必须把它写成: projectName.mainClassName = ..

关于java - gradle 构建中缺少 mainClassName 属性的 Gradle 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36917530/

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