【问题标题】:Spring Boot Gradle build fails with "Execution failed for task 'bootWarMainClassName'Spring Boot Gradle 构建失败并显示“任务'bootWarMainClassName'的执行失败”
【发布时间】:2022-02-04 20:11:51
【问题描述】:

我有一个基于默认 gradle 约定的 Spring Boot 的多项目 gradle 构建。

root
   -- common
        -- src/main/java
   -- bootproject
        -- src/main/java

我目前的项目是 (A) 将 gradle 从 5.x 升级到 7.3.x 和 (B) 使用 Spring Boot 的嵌入式 tomcat。

这是一个存在多年的项目,是 Spring Boot,但传统上一直以 WAR 文件的形式部署在 Tomcat 中。

我已按照 gradle 迁移指南将 gradle 升级到 7.3.3,并且“通用”构建正确(java-library)。我现在正在尝试再次正确构建“bootproject”。我已经迁移了我的 build.gradle,现在编译正确,但是在执行 'gradlew sub-project:build' 时出现错误:

任务“:tx-main:bootWarMainClassName”执行失败。 java.lang.IllegalArgumentException(没有错误信息)

我的 ROOT build.gradle 很简单:

    plugins {
        id "org.springframework.boot" version "2.6.3"
    }
    
    subprojects {
        apply plugin: 'java'
    
        group = 'com.blah'
        version = '2.1.1'
    
        repositories {
            mavenCentral()
}

有一个构建良好的库子项目(通用)。

Spring Boot 子项目 build.gradle 是:

plugins {
    id 'org.springframework.boot'
    id 'io.spring.dependency-management'
}

dependencies {
    implementation project(path:':common', configuration:'default')

    implementation 'org.springframework.boot:spring-boot-starter-web'

    implementation ...

}

最初设置主类以使应用程序按常规部署(扩展 SpringBootServletInitializer),但已替换为(直接取自文档):

package com.blah;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

编译工作,这个类似乎在构建/类路径中,所以我不明白为什么 Gradle-Spring-Boot 没有找到它。我也尝试过明确标识具有相同结果的类。

不幸的是,我发现关于多项目 gradle 构建的文档很少,所以我怀疑这是问题的一部分。希望这里的人能指出我正确的方向,什么是错的。

谢谢

【问题讨论】:

    标签: spring-boot gradle spring-boot-gradle-plugin


    【解决方案1】:

    我在这里发现了问题。我们在 /buildSrc 中有自定义代码,这显然是造成这种情况的原因。

    【讨论】:

      猜你喜欢
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多