当前位置: 首页 > 知识库问答 >
问题:

如何用Gradle建立WAR文件?

丌官远
2023-03-14

我想构建一个WAR文件(然后将其部署到Tomcat)。因此,作为练习,我在IDEA Intellij中使用Gradle开始了一个新的Spring启动项目。之后,我在build.gradle文件中应用了这个插件,比如这个apply plugin:'war'

问题是,当我尝试在终端中运行gradle war时,没有得到war文件!唯一发生的事情是,它将生成一个\build,其中包含3个子组件classesresourcesTMP,但在这些组件中没有战争。

我应该怎么做才能获得WAR文件?我看过这段视频,但这家伙使用Maven,不做高级的东西,得到了战争。我想一定有办法让它变得简单。

当我运行gradle war-info

Initialized native services in: C:\Users\...\.gradle\native The client 

...

Task:CompileJava最新的解析项目“DeleteMe”的全局依赖关系管理(排除[org.apache.tomcat:Tomcat-Annotations-API]排除[])跳过最新的任务“:CompileJava”。:CompileJava(线程[“:”,5,Main])已完成。用了0.753秒。:ProcessResources(线程[“:”,5,Main])已启动。

Task:Classes最新跳过任务“:Classes”,因为它没有操作。:类(线程[“:”,5,Main])已完成。用了0.0秒。:WAR(Thread[Task worker for':',5,Main])已启动。

Task:War跳过将任务“:War”作为Task onlyIf为false.:WAR(线程[“:”,5,Main])已完成。用了0.0秒。

共有1个答案

孔扬
2023-03-14

我猜您已经将spring boot gradle插件应用到了您的项目中,此外还应用了war插件?那么这种行为是正常的,因为Spring Boot插件将禁用jar和war任务,并用bootWar和bootJar任务替换这些任务。

同时应用spring boot和war插件:

./gradlew war
15:35:09: Executing task 'war'...

> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :war SKIPPED

BUILD SUCCESSFUL in 0s
2 actionable tasks: 2 up-to-date
15:35:10: Task execution finished 'war'.

注意跳过的消息

$ ./gradlew bootWar
15:36:35: Executing task 'bootWar'...

> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :bootWar

BUILD SUCCESSFUL in 1s
3 actionable tasks: 1 executed, 2 up-to-date
15:36:37: Task execution finished 'bootWar'.
 类似资料:
  • 我正在改变我们的项目,以使用gradle作为构建工具,但正在与2个问题斗争;

  • 问题内容: 创建战争文件(使用eclipse)以在tomcat上运行的最佳实践是什么?教程,链接,示例受到高度赞赏。 问题答案: 你可以使用Ant来设置,编译,WAR和部署你的解决方案。 然后,你可以在Eclipse中执行一键操作以运行该Ant目标。以下是每个步骤的示例: 前提条件 我们假设你的代码组织如下: :Java文件,属性,XML配置文件 :你的JSP文件 :运行时所需的任何JAR :你的

  • 我需要制作一个现有war文件的副本,并更新其中的一个xml文件。我对如何做到这一点的想法是: 从现有WAR中提取文件 替换文件中的字符串 复制警告 将修改的文件添加回复制的WAR

  • 我在android studio上创建新项目时发现了这个错误,我不知道我的设置会发生什么变化。任何人都可以解释如何在android studio上解决此错误? 我删除了. gradle在我的用户主文件夹,这是错误仍然发生。我使用OSX 10.10.3和Android Studio1.1.0

  • 我想将一个maven项目集成到我的gradle构建过程中。虽然我成功地将maven项目(这是一个war overlay项目)转换为gradle项目,但这样做有几个缺点。首先,maven tomcat插件可以轻松创建带有嵌入式tomcat实例的可运行jar。我找不到一个gradle插件来做这个工作。为了解决这个问题,我看到了四种不同的方法,我想知道哪一种是最好的,或者是否有其他的可能性。 null