首页 > 解决方案 > 编译后没有生成jar文件

问题描述

更新:问题可能来自 IntelliJ 的配置方式。./gradlew build在命令行上运行可以正常工作。

我正在尝试构建一个 Spring Boot 应用程序,该应用程序依赖于我要先构建的 Web 客户端,然后再将其复制到最终的 jar 中。

但是,由于某种原因,该.jar文件没有被创建。

以下是 gradle 任务依赖树:

:build
+--- :assemble
|    +--- :bootJar
|    |    +--- :bootJarMainClassName
|    |    |    \--- :classes
|    |    |         +--- :compileJava
|    |    |         \--- :processResources
|    |    |              \--- :web-client:buildWebApp
|    |    |                   +--- :web-client:npmInstall
|    |    |                   |    \--- :web-client:npmSetup
|    |    |                   |         \--- :web-client:nodeSetup
|    |    |                   \--- :web-client:npmSetup *
|    |    \--- :classes *
|    \--- :jar
|         \--- :classes *
\--- :check
     \--- :test
          +--- :classes *
          \--- :testClasses
               +--- :compileTestJava
               |    \--- :classes *
               \--- :processTestResources

构建项目后,我可以看到例如 Web 客户端在build/resources/main/static.

一切都在那里,但为什么没有创建最终的罐子?

日志输出

13:26:46: Executing tasks ':testClasses :classes'...


> Configure project :
Server src/ dir:   /home/sfalk/workspaces/server-client-template/src
Swagger-file path: /home/sfalk/workspaces/server-client-template/build/generated/swagger.yaml
Client out-dir:    /home/sfalk/workspaces/server-client-template/build/generated/sources/rest-clients

> Configure project :web-client
Web Client build-dir: /home/sfalk/workspaces/server-client-template/web-client/build/../dist/web-client

> Task :compileJava UP-TO-DATE
> Task :web-client:nodeSetup SKIPPED
> Task :web-client:npmSetup UP-TO-DATE
> Task :web-client:npmInstall UP-TO-DATE

> Task :web-client:buildWebApp

> web-client@0.0.0 build
> ng build

- Generating browser application bundles (phase: setup)...
✔ Browser application bundle generation complete.
- Copying assets...
✔ Browser application bundle generation complete.
✔ Copying assets complete.
- Generating index html...
✔ Index html generation complete.

Initial Chunk Files               | Names         |      Size
main.d6c9c9d7fcecc1f6c9e3.js      | main          | 212.95 kB
polyfills.d2c379bb679f7bad92a6.js | polyfills     |  35.94 kB
runtime.87dada96771b2fe2774b.js   | runtime       |   1.00 kB
styles.31d6cfe0d16ae931b73c.css   | styles        |   0 bytes

| Initial Total | 249.90 kB

Build at: 2021-08-22T11:27:06.172Z - Hash: bf05dad24a679b8db178 - Time: 14185ms

> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.9.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 19s
5 actionable tasks: 1 executed, 4 up-to-date
13:27:06: Tasks execution finished ':testClasses :classes'.

build.gradle

import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
import org.springframework.boot.gradle.plugin.SpringBootPlugin

plugins {
    id 'java'
    // ...
}

sourceCompatibility = 1.8
targetCompatibility = 1.8
group 'org.example'
version '1.0-SNAPSHOT'

configurations { 
    staticResources 
}

dependencies {
    staticResources project(path: ':web-client', configuration: 'webApp')
}

ext { 
    javaMainClass = 'com.example.spring.Application' 
}

/* ... Removing code for brevity .. */

processResources {
    from(configurations.staticResources) {
        into 'static'
    }
}

标签: spring-bootgradleintellij-idea

解决方案


推荐阅读