spring-boot - 编译后没有生成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'
}
}
解决方案
推荐阅读
- c++ - C++ - 弹出向量的第一个元素
- c++ - 有没有办法在 C++ 中实现 Python 的 join() ?
- python - 我们可以在给出约束的同时按升序更改 x 轴吗
- parsing - 如何在语法中使用空格?
- c++ - 从基类继承两次时如何修复“错误:没有匹配的调用函数”
- python - 将 Python 列表传递给 SQL Server 查询的 ORDER BY 子句
- java - 加密将代码从节点 js 转换为 java
- node.js - nodejs knex 连接表-> 需要的嵌套数据,如分组依据
- javascript - django 表单错误列表“此字段为必填项”,带有额外字段和上传文件
- compiler-errors - Fortran 错误:函数 'nf90_def_var_deflate' 没有隐式类型