java NoClassDefFoundError: com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver when I run jar but not on IDE
java NoClassDefFoundError: com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver when I run jar but not on IDE
您好,我已经处理这个问题一段时间了,但一直没能解决。
所以我有一个简单的 Java 应用程序,它使用 Google 日历 API 从中获取事件。
当我在 IDE(IntelliJ) 上 运行 它工作时没有错误,但是当我从命令行构建和 运行 JAR 时,我得到这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError:
com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver
at info.cantu.smartmirror.Main.main(Main.java:44)
Caused by: java.lang.ClassNotFoundException:
com.google.api.client.extensions.java6.auth.oauth2.VerificationCodeReceiver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
我使用 maven 导入了所需的库。我想我可能构建的 jar 有误。
这是我的 MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: info.cantu.smartmirror.Main
这是我的 Artifacts 面板的样子:
有什么想法吗?
好的,我明白了。
我做了两件事:
编号 1:我通过转到项目结构 -> 库 ->(选择它) -> 单击减号按钮从项目中删除了 google-oauth-client-jetty:1.20.0。
然后我添加了新版本的库(1.22)this link has the latest version number。我通过 Maven 添加它(在与以前相同的 window 中)单击加号按钮 -> 从 Maven 并搜索它
然而它似乎没有用。
2 号(我认为这成功了):
在 Project Structure -> Artifacts -> The JAR I was trying to build -> 我在右侧选择了有问题的库。但是,不是双击它而是简单地将库放在输出根目录中。我右键单击并选择 "Extract Into Output Root",它提取库中包含的所有单个 jar,并将它们添加到输出根目录。
如下图
您好,我已经处理这个问题一段时间了,但一直没能解决。
所以我有一个简单的 Java 应用程序,它使用 Google 日历 API 从中获取事件。
当我在 IDE(IntelliJ) 上 运行 它工作时没有错误,但是当我从命令行构建和 运行 JAR 时,我得到这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError:
com/google/api/client/extensions/java6/auth/oauth2/VerificationCodeReceiver
at info.cantu.smartmirror.Main.main(Main.java:44)
Caused by: java.lang.ClassNotFoundException:
com.google.api.client.extensions.java6.auth.oauth2.VerificationCodeReceiver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
我使用 maven 导入了所需的库。我想我可能构建的 jar 有误。
这是我的 MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: info.cantu.smartmirror.Main
这是我的 Artifacts 面板的样子:
有什么想法吗?
好的,我明白了。 我做了两件事:
编号 1:我通过转到项目结构 -> 库 ->(选择它) -> 单击减号按钮从项目中删除了 google-oauth-client-jetty:1.20.0。
然后我添加了新版本的库(1.22)this link has the latest version number。我通过 Maven 添加它(在与以前相同的 window 中)单击加号按钮 -> 从 Maven 并搜索它
然而它似乎没有用。
2 号(我认为这成功了):
在 Project Structure -> Artifacts -> The JAR I was trying to build -> 我在右侧选择了有问题的库。但是,不是双击它而是简单地将库放在输出根目录中。我右键单击并选择 "Extract Into Output Root",它提取库中包含的所有单个 jar,并将它们添加到输出根目录。
如下图