gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:07:54 24 4
gpt4 key购买 nike

我正在尝试使用 Cascading在我的 Hadoop 项目中。我正在尝试实现 Enterprise Data Workflows with Cascading 中给出的第一个示例书。我已经编写了包含 Cascading 的 java 类相关代码,我还有一个 build.graddle文件应该编译那个java类并从中构建jar文件。

我的文件夹结构如下:

  • 主文件夹
  • 不耐烦
  • 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 <input file path> <output file path>
    命令,但它给了我 Exception in thread "main" java.lang.ClassNotFoundException: impatient.Main异常(exception)。

    所以我检查了 jar 文件的内容,发现那个 jar 不包含 impatient/Main.class文件。

    请注意 我对 gradle 一无所知 .

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

    谢谢 !!!

    最佳答案

    将您的源文件移动到
    main_folder/impatient/src/main/java/Main.java
    但将 build.gradle 文件留在原处。

    默认情况下,Gradle 使用 src/main/javasrc/test/java寻找生产和测试 java 源(相对于根文件夹,在你的情况下是 impatient)

    关于gradle - 为什么这个 gradle 构建脚本没有编译 java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18742775/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com