我想在我的Hadoop项目中使用Cascading.我正在尝试实现使用Cascading book在Enterprise Data Workflows中给出的第一个示例.我编写了包含Cascading相关代码的
java类,我有另一个build.graddle文件,它应该编译该java类并从中构建jar文件.
我的文件夹结构如下:
> main_folder
>不耐烦
> Main.java
> build.gradle
我的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" )
}
}
当我从命令提示符运行gradle clean jar命令时,我得到构建成功的消息.我尝试使用运行此jar文件
hadoop jar impatient.jar
命令,但它在线程“main”java.lang.ClassNotFoundException中给出了异常:impatient.Main异常.
所以我检查了jar文件的contentes,发现那个jar不包含impatient / Main.class文件.
请注意,我对gradle一无所知.
请求有人请告诉我gradle脚本是否有任何问题或者我犯了一些错误.
谢谢 !!!