为什么这个gradle构建脚本没有编译java类?
我正试图在我的Hadoop项目中使用为什么这个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
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”。检查