【发布时间】:2019-02-18 05:55:42
【问题描述】:
我想构建一个 WAR 文件(然后将其部署到 Tomcat)。因此,作为练习,我在 IDEA IntelliJ 中使用 Gradle 启动了一个新的 Spring Boot 项目。之后,我在build.gradle 文件中应用了插件,就像这样apply plugin: 'war'
.
问题是当我尝试在终端中运行gradle war 时,我没有得到war 文件!唯一发生的事情是它将生成一个带有 3 个子焊料 classes、resources 和 tmp 的 \build,但其中没有 WAR。
我应该怎么做才能获得 WAR 文件?我看过this 的视频,但是这个人使用 Maven,不做高级的东西并且得到了战争。我认为必须有一种方法让它保持简单。
当我运行gradle war --info
Initialized native services in: C:\Users\...\.gradle\native The client...
任务:编译Java UP-TO-DATE 解决项目“deleteme”的全局依赖管理 排除 [org.apache.tomcat:tomcat-annotations-api] 不包括 [] 跳过任务 ':compileJava',因为它是最新的。 :compileJava (Thread[Task worker for ':',5,main]) 完成。耗时 0.753 秒。 :processResources (Thread[Task worker for ':',5,main]) 已启动。
任务:processResources UP-TO-DATE 跳过任务“:processResources”,因为它是最新的。 :processResources (Thread[Task worker for ':',5,main]) 完成。耗时 0.003 秒。 :classes (Thread[Task worker for ':',5,main]) 已启动。
Task :classes UP-TO-DATE 跳过任务 ':classes' 因为它没有动作。 :classes (Thread[Task worker for ':',5,main]) 完成。耗时 0.0 秒。 :war (Thread[Task worker for ':',5,main]) 已启动。
任务:战争已跳过 将任务 ':war' 作为任务 onlyIf 跳过是假的。 :war (Thread[Task worker for ':',5,main]) 完成。耗时 0.0 秒。
【问题讨论】:
-
gradle war应该在/build/libs目录中生成战争 -
我知道,但它不存在。你能试试看这是否适合你?
-
可以在终端上分享运行
gradle war时的日志吗? -
尝试将
classes、resources和tmp文件夹压缩成一个.zip文件,然后将其重命名为.war文件
标签: gradle