编译Uberjar for Groovy Script找不到类,但它就在那里

时间:2018-03-06 09:48:55

标签: java groovy jar compilation

我想创建一个uberjar让我的groovy脚本在cronjob中运行。 使用maven-jar-plugin编译时,groovy-eclipse-compilermaven-shade-plugin一切正常。之前我用另一个脚本做了这个,没有出现以下问题。

现在,当我编译 uberjar 时,我想运行它java -jar script.jar我发现了这条经典信息:

Error: Could not find or load main class com.myapp.script.ScriptName

我不明白的是清单正确地描述了 Main Class

Manifest-Version: 1.0
Implementation-Title: uberjar
Implementation-Version: 7.1.14-12
Archiver-Version: Plexus Archiver
Built-By: Blueprint
X-Compile-Target-JDK: 1.8
Implementation-Build: revision: 20e92d87e6b64a2b70960128798b25d5aca666
 17 - 2018-03-06T09:31:36Z
X-Compile-Source-JDK: 1.8
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_121
Main-Class: com.myapp.script.ScriptName
Implementation-Vendor: Blueprint

ScriptName.class文件位于com/myapp/script/文件中的.jar内。

我不明白这里的问题是什么以及无法找到MainClass的原因。

1 个答案:

答案 0 :(得分:0)

此处的问题在com.myapp.script.ScriptName.class文件中可见。 我发现有一个库缺失,这个类实际上取决于它扩展它。

我的maven-shade-plugin配置不正确。这就是为什么提到的图书馆没有出现在.jar