java - axet/桌面 : Exception in thread "main" java. lang.NoClassDefFoundError: com/sun/jna/Platform

标签 java maven noclassdeffounderror

我正在从存储库构建项目 https://github.com/axet/desktop/tree/master/java 。我正在尝试运行 DesktopTest 类。我这样做:

$ mvn package
$ cd target
$ java -cp ./desktop-2.3.3.jar:.:test-classes/ com.github.axet.desktop.DesktopTest
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Platform
        at com.github.axet.desktop.Desktop.getDesktopFolders(Desktop.java:53)
        at com.github.axet.desktop.Desktop.getHomeFolder(Desktop.java:32)
        at com.github.axet.desktop.DesktopTest.main(DesktopTest.java:10)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我做错了什么?

Java版本:

$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

最佳答案

您尚未下载该包的依赖项。它们列在 pom.xml 文件中。但您不必担心手动执行此操作。

您应该执行以下命令,而不是简单地使用mvn package:

$ mvn clean dependency:copy-dependencies package

这会将所有需要的 jar 复制到 target/dependency 目录中。将该目录添加到您的类路径中,它应该可以工作,例如,

$ java -cp ./desktop-2.3.3.jar:.:test-classes/:dependency/* com.github.axet.desktop.DesktopTest

关于java - axet/桌面 : Exception in thread "main" java. lang.NoClassDefFoundError: com/sun/jna/Platform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705063/

相关文章:

java - 如何在 Netbeans 中打开 UTF-8 格式的文件;不扭曲字符?

java - 当Elasticsearch批量操作发生故障时,如何获取文档字段?

java - 使用 Guava CacheBuilder/MapMaker 计算自定义缓存大小

java - 使用 maven-tomcat-plugin 启动多个 tomcat 实例

java - 跨多个网络应用程序的一个 Hibernate FullTextEntityManager

java - 如何解决AutoloadedDriver40的NoClassDefFoundError?

android - 旧版 Android SDK 上的 java.lang.NoClassDefFoundError

java - 线程中出现异常 "AWT-EventQueue-2"java.lang.NoClassDefFoundError

java - 我是否应该根据 Java 约定将最终 `Atomic…` 成员字段命名为常量(全部大写)?

java - 同步循环链表