从InteliJ IDEA社区的Graddle Project中构建WAR文件(不包括来自构建的资源)

时间:2018-09-20 11:02:03

标签: java gradle intellij-idea war

我使用InteliJ IDEA社区版本开发了一个Spring应用程序。

社区版不支持WAR工件,因此我必须手动获得它。

我已经找到了如何在Maven项目中做到这一点,但我的却是一个艰难的项目。那么,如何从我的毕业设计中构建WAR?

在maven项目中,您可以配置使用 wagon-maven-plugin 的maven运行以获得WAR文件。可以用Graddle做同样的事吗?

编辑

我一直在用bootWar和bootJar进行测试,以便同时制作(Jar和War)。

好,行得通。我现在的问题是,这两个插件实际上正在打包我的资源目录。

我尝试使用排除,但是没有用。

那就是我在做什么:

bootJar {
    mainClassName = 'Server.Application'
    exclude("/src/resources/**")
    version =  '0.1.7'
}

bootWar {
    mainClassName = 'Server.Application'
    exclude("/src/resources/**")
    version = '0.1.3'
}

我的项目结构如下:

  • src
    • 主要
      • java
      • 服务器
      • 资源

编辑2 -最终方式

为了将资源排除在构建之外,我在构建之前将其删除:

bootJar {
    mainClassName = 'FitServer.Application'
    setDestinationDir(new File ('build/war'))
    version = '0.1.2'

    doFirst {
        delete('build/resources')
    }
}

1 个答案:

答案 0 :(得分:2)

根据Gradle Guide,有一个war plugin用于构建Java Web应用程序,并且社区提供了一个名为gretty的出色插件,用于在Jetty或Tomcat上测试和部署Web应用程序。

您可以在build.gradle文件中使用此war插件。