Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Gradle将错误文件添加到WAR包_Java_War_Gradle - Fatal编程技术网

Java 使用Gradle将错误文件添加到WAR包

Java 使用Gradle将错误文件添加到WAR包,java,war,gradle,Java,War,Gradle,我正在使用Gradle 1.5,并且我正在尝试使它适应Eclipse动态项目 当通过eclipse导出WAR时,WAR文件的根上直接有xhtml文件,我用Gradle成功地做到了这一点 但是在我的Gradle exported war上,我在WEB-INF/classes中复制了xhtml文件以及.class文件 我只想把我的.class文件放在那个文件夹中,但我还没有找到一种方法 这是我的build.gradle文件的相关部分 apply plugin: 'java' apply plugin

我正在使用Gradle 1.5,并且我正在尝试使它适应Eclipse动态项目

当通过eclipse导出WAR时,WAR文件的根上直接有
xhtml
文件,我用Gradle成功地做到了这一点

但是在我的Gradle exported war上,我在
WEB-INF/classes
中复制了
xhtml
文件以及
.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.
}
我对war插件所做的唯一定制是将
webAppDirName
更改为指向我的
WebContent
文件夹

有人知道如何定义
WEB-INF/classes
目录中的内容吗?我似乎弄不懂它的窍门


编辑 通过将资源引用到我的
bin
目录,我成功地删除了
.xhtml
副本,如下所示:

sourceSets {
    main {
        java {
            srcDir 'src'
        }
        resources {
            srcDir 'bin'
        }
    }
}
但是我的
WEB-INF
中仍然有错误的文件

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

我希望我的
bin
中的类位于
WEB-INF/classes

默认情况下,my
WebContent
中的静态资源位于WAR文件的根目录下,进入
WEB-INF/classes
的是
main
源集(编译的类和处理的资源)的输出。构建脚本声明了一个附加的源目录(
src
),并保留默认的资源目录。您是否在
src/main/java
src/main/resources
下有任何文件?

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

您对如何防止额外的文件夹被添加到我的
classes
目录有何建议?你还需要什么信息吗?我不知道你的源目录结构是什么。同样,您是否在
src/main/java
src/main/resources
下有任何文件?您是否尝试覆盖默认设置(例如,
srcDirs=['src']
),而不是添加其他目录?没有我的文件直接位于
src
下,没有
main/java
结构。你能编辑你的答案给我看一个覆盖的例子吗?我编辑了从
resources{srcDir'bin}
resources{srcDirs=['bin']}
的条目,如果只复制
bin
目录中的文件吗?就资源而言,答案是肯定的。对于
sourceset.main.java
,您也应该这样做。