簡體   English   中英

從命令行運行Java項目時出現問題

[英]Problem with running java project from a command line

我有一個帶有兩個類和一個外部庫的JavaFX項目。 當我從IDE(IntelliJ Idea)運行它時,一切正常。 但是當我使用命令從命令行運行它時:

java Main

該程序啟動,但是當我嘗試使用與外部庫關聯的功能時,我有一個例外:

Exception in thread "Thread-4" java.lang.NoClassDefFoundError: com/google/gson/Gson

為什么通過IDE運行它時一切正常,而通過控制台運行它卻看不到庫Gson?

最常見的原因是創建jar時未導出Gson庫。

當IDE運行您的代碼時,可以找到它。 但是,當將其導出到JAR且其中不包含相關的依賴項時,您會收到此錯誤。

當您從諸如IntelliJ或eclpse之類的IDE運行程序時,它可能會自動包含外部jar,因為它取決於您的設置,因此它是您自己的類路徑。

如果要從命令行運行它,則需要使用-classpath參數將gson jar添加到您的類路徑中。

java -classpath external-library.jar Main

參考:

Windows- https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html

Unix- https://docs.oracle.com/javase/8/docs/technotes/tools/unix/classpath.html

暫無
暫無

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

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