【问题标题】:Generate war file without libs directory in gradle在gradle中生成没有libs目录的war文件
【发布时间】:2016-06-20 10:24:06
【问题描述】:

我有一个 gradle 项目和配置的 war 插件,它可以成功生成 war 文件。

我希望我的依赖项 jar 文件不是目录 [/WEB-INF/lib/] 中 .war 文件的一部分。

我会在 jboss 的 lib 文件夹中手动添加所有依赖项。

apply plugin: 'war'

sourceSets  {
 main {
    java {
        srcDir 'src'
    }
 }
}

war.baseName = 'web'

webAppDirName = 'WebContent'

war {
 webXml = file('WebContent/WEB-INF/web.xml')
}

dependencies {
 compile fileTree('../ThirdPartyJars')
 compile project(':core')
}

这正在生成一个已经包含所有依赖项的 .war 文件。

他们有什么方法可以从 gradle.war 文件中删除所有这些依赖项。

【问题讨论】:

    标签: java gradle war


    【解决方案1】:

    这是一个糟糕的主意,IMO,但您可以将依赖项添加到 providedCompileprovidedRuntime 配置而不是 compileruntime

    【讨论】:

    • 谢谢!提供编译为我工作。我知道在 jboss 库中拥有所有依赖项是个坏主意,但它是一个遗留项目,我正在处理 jboss 中已经存在的许多依赖项,由于其他项目使用这些,我无法删除。
    • 如果我们在 .war 文件中包含依赖项,那么文件的总大小将超过 100 MB,这需要时间将可部署的战争移动到 jboss 部署目录中的其他服务器。正如您所说,他们是否可以替代这种方法,因为在战争中存在依赖关系是个坏主意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 2017-09-14
    • 1970-01-01
    • 2014-07-01
    • 2016-08-25
    • 2014-11-03
    • 2011-10-20
    相关资源
    最近更新 更多