1

在尝试从极其复杂的 ant 构建迁移到 gradle 的持续传奇中 - 我们有一些我正在生成的“javahelp”资源 jar 文件。它们不包含类。我需要将创建这些资源 jar 的项目的输出添加到我的战争的根目录(而不是WEB-INF/lib)。

我尝试的解决方案:

apply plugin: 'war'

//Move files into position for the mmplEar project
task stage(overwrite: true, dependsOn: war) << {
}

war {
    from project(':help:schedwincli').buildDir.absolutePath + '/libs'
    include '*.jar'
}

dependencies {
    //Ensure the jar is generated, but we don't want it in the lib dir
    providedCompile project(':help:schedwincli')
}

这会编译并运行,并且:help:schedwincli确实会运行并生成所需的 jar,但是当我打开我的 war 文件时,预期的 jar 在战争中的任何地方都不存在。建议?

编辑

我在下面进行了 Peter 建议的更改,但现在我收到此错误:

在配置容器上找不到属性“资源”。

这是它说它失败的地方:

from '../../runtime', /*Fails on this line*/
    '../../runtime/html',
    '../../runtime/html/Jboss',
    '../../runtime/props',
    '../../runtime/props/Jboss',
    '../../scripts',
    '../../../proj/runtime',
    '../../../proj/runtime/html',
    '../../../proj/runtime/html/Jboss',
    '../../../proj/runtime/props',
    '../../../proj/runtime/props/Jboss',
    configurations.resources
include '*.css'
include '*.gif'
include '*.html'
include '*.jpg'
include '*.jnlp'
include '*.props'
include '*.properties'
include 'jsps/**'
include '*.jar'
include 'log4j/**'
include 'setupLdap.cmd'
include 'spreadsheets/*.xlsx'
4

1 回答 1

5

你想要这样的东西:

configurations {
    resources 
}

dependencies {
    resources project(':help:schedwincli')
}

war {
    from configurations.resources
}
于 2013-10-30T15:54:37.910 回答