使用通过“gradle build”命令创建的JAR文件会引发运行时异常

时间:2016-09-08 06:46:02

标签: java gradle jar gradle-plugin gradle-eclipse

我正在使用gradle-3.0。操作系统是Windows 10.我没有任何依赖项目。

我在Eclipse中使用Gradle插件开发了一个java库。现在,当我从Eclipse导出JAR文件时,一切都按预期工作。但是当我在命令提示符下使用“gardle build”命令创建JAR文件时,我在运行时获取异常,同时在示例中使用创建的jar文件。以下是gradel.build文件

当我使用创建的JAR

运行示例时,我得到以下异常

线程“main”中的异常java.lang.ClassCastException:[Ljava.lang.Object;无法转换为[Lcom.MyNamespace.MyType;

apply plugin: 'java'

jar {
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
        configurations.runtime.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    manifest {
        attributes 'Implementation-Title': 'ndeploy',
            'Implementation-Version': '1.0.0',
            'Built-By': System.getProperty('user.name'),
            'Built-Date': new Date(),
            'Built-JDK': System.getProperty('java.version'),
    }
}

我不需要可执行的Jar,所以我没有在Jar任务中提到“Main-Class”属性。

  • 执行“gradle build”命令后,我从“build \ libs”文件夹中获取Jar文件。
  • 此外,我发现我在java库中使用的资源未在Jar文件中提供。但这与我想在此主题中讨论的运行时异常不同。
  • 当我尝试使用jar cvf jarname.jar *命令创建jar而没有gradle时,会发生同样的异常。

那我怎么了?

任何帮助将不胜感激。

0 个答案:

没有答案