簡體   English   中英

axet / desktop:線程“main”中的異常java.lang.NoClassDefFoundError:com / sun / jna / Platform

[英]axet/desktop: Exception in thread “main” java.lang.NoClassDefFoundError: com/sun/jna/Platform

我是從存儲庫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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM