为什么这个gradle构建脚本没有编译java类?

为什么这个gradle构建脚本没有编译java类?,gradle,cascading,Gradle,Cascading,我正试图在我的Hadoop项目中使用Cascading。我正在尝试使用级联实现企业数据工作流中给出的第一个示例。我已经编写了java类,它包含了级联相关的代码,我还有另一个build.graddle文件,它应该编译java类并从中构建jar文件 我的文件夹结构如下: 主文件夹 急躁的 Main.java 格雷德尔先生 我的build.gradle文件如下所示: apply plugin: 'java' apply plugin: 'idea' apply plugin: 'eclip

我正试图在我的Hadoop项目中使用
Cascading
。我正在尝试使用级联实现
企业数据工作流中给出的第一个示例。我已经编写了java类,它包含了
级联
相关的代码,我还有另一个
build.graddle
文件,它应该编译java类并从中构建jar文件

我的文件夹结构如下:

  • 主文件夹

    • 急躁的

      • Main.java
      • 格雷德尔先生
我的
build.gradle
文件如下所示:

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'

archivesBaseName = 'impatient'
repositories {
    mavenLocal()
    mavenCentral()
    mavenRepo name: 'conjars', url: 'http://conjars.org/repo/'
}
ext.cascadingVersion = '2.1.0'
dependencies {
    compile( group: 'cascading', name: 'cascading-core', version: cascadingVersion )
    compile( group: 'cascading', name: 'cascading-hadoop', version: cascadingVersion )
}
jar {
    description = "Assembles a Hadoop ready jar file"
    doFirst {
        into( 'lib' ) {
            from configurations.compile
        }
    }
    manifest {
        attributes( "Main-Class": "impatient/Main" )
    }
}
当我在命令提示符下运行
gradlecleanjar
命令时,我会收到构建成功的消息。我尝试使用

hadoop jar ancerte.jar

命令,但它在线程“main”java.lang.ClassNotFoundException:ancert.main中给出了
异常

所以,我检查了jar文件的内容,发现该jar不包含
ancerte/Main.class
文件

请注意,我对gradle一无所知

请某人告诉我gradle脚本是否有任何错误,或者我犯了一些错误


谢谢

将源文件移动到

main\u文件夹/ancite/src/main/java/main.java

但将build.gradle文件保留在原来的位置


默认情况下,Gradle使用
src/main/java
src/test/java
查找生产和测试java源代码(相对于根文件夹,在您的情况下是
ancert

我不太确定,但我认为“main Class”:“ancert.main”是一个不错的选择,甚至“mainClassName=ancert.main”。检查