我想创建一个uberjar让我的groovy脚本在cronjob中运行。
使用maven-jar-plugin
编译时,groovy-eclipse-compiler
和maven-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的原因。
答案 0 :(得分:0)
此处的问题在com.myapp.script.ScriptName.class
文件中可见。
我发现有一个库缺失,这个类实际上取决于它扩展它。
我的maven-shade-plugin
配置不正确。这就是为什么提到的图书馆没有出现在.jar