4

我正在使用 Gradle 1.5,并且正在尝试使WAR 插件适应Eclipse 动态项目。

当 WAR 由 eclipse 导出时,它的xhtml文件直接位于 war 文件的根目录,我设法用 Gradle 做到了这一点。

但是在我的 Gradle 导出的战争中,我的文件与我的文件一起xhtml在里面复制了WEB-INF/classes.class

我只想将我的.class文件放在那个文件夹中,但我还没有找到办法

build.gradle这是我文件的相关部分

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'

webAppDirName = 'WebContent'

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

eclipse {
    // my eclipse plugin config..
}

dependencies {
    // my dependencies config.
}

我对战争插件所做的唯一自定义是将指向我的文件夹更改webAppDirName为指向我的WebContent文件夹。

有谁知道如何定义WEB-INF/classes目录中的内容?我似乎无法掌握它。


编辑 我已经设法.xhtml通过将资源引用到我的bin目录来删除重复项,如下所示:

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

但我的WEB-INF.

我什至有这个结构WEB-INF/classes/WEB-INF。我不知道为什么将这些文件夹添加到我的classes目录中,因为它们不存在于我的目录中bin

我希望 mybin中的类位于其中,而我中WEB-INF/classes 的静态资源位于WebContentWAR 文件的根目录中

4

2 回答 2

3

默认情况下,WEB-INF/classes输入的是main源集的输出(编译的类和处理的资源)。您的构建脚本声明了一个额外的源目录 ( src),并保留了默认资源目录。src/main/java或下有文件src/main/resources吗?

于 2013-04-30T13:23:22.063 回答
0

Eclipse 使用该bin文件夹作为其输出文件夹,因此您的文件可能会以这种方式混淆。

于 2014-04-09T08:34:38.237 回答