Gradle生成的Jar不包含gwt.xml文件?

时间:2015-02-11 15:24:21

标签: java eclipse gwt gradle

我使用以下build.gradle创建了一个小型库项目:

apply plugin: 'java'
apply plugin: 'gwt-base'
apply plugin: 'eclipse'

buildscript {
  repositories {
    mavenCentral()
    jcenter()
    maven {
        url new File(rootProject.projectDir.parentFile, 'repo').toURI()
    //  url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
  }
  dependencies {
    classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
  }
}

gwt {
    gwtVersion='2.7.0'
}

文件夹结构如下所示:

/library
/library/Library.gwt.xml
/library/client/HelloWorldWidget.java

来源取自here

当我执行gradle build gradle时,会生成一个不包含源的jar文件,也不包含gwt.xml模块文件。

如何强制gradle在生成的jar中包含sources和gwt.xml文件?

2 个答案:

答案 0 :(得分:1)

以下是包含*.java文件使用的解决方案:

jar {
  from('src/main/java') {
    include '**/*.java'
  }
}

包含gwt.xml个文件等其他任何资源:

/src/main/resources

或者您也可以使用:

jar {
  from project.sourceSets.main.allSource
  from project.sourceSets.main.output
}

答案 1 :(得分:0)

使用Java插件时,Gradle假定项目具有standard structure,即'src \ main \ java'& 'SRC \测试\ java中'。因此,在执行构建任务时,它根本找不到任何这些目录。

解决此问题的最佳方法是通过修改现有的源集来定义项目结构,这些源集定义了源的位置:

sourceSets {
    main {
        java {
            include '/library/**'
        }
    }
    test {
        java {
            include '/test/sources/directory/**'
        }
    }
}