1
我創建了一個JAVA應用程序來獲取IMDB電影評級。該應用程序需要一個命令行參數(電影名稱)並顯示相同的評級。我已將該應用程序添加到右鍵單擊上下文菜單。所以,現在當我右鍵單擊我需要文件名(無擴展名)作爲命令行參數傳遞。我怎樣才能做到這一點?用文件名作爲參數執行jar文件
我嘗試添加%1
在註冊表中的佔位符,但它似乎並沒有工作。該應用程序從命令行使用參數工作。
有人可以幫助我嗎?
命令行:
java -jar C:\NetBeansProjects\APPLICATION\dist\APPLICATION.jar daredevil
OUTPUT:
錯誤
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at application.IMDB.IMDBFetch(IMDB.java:67)
at application.IMDB.URLParse(IMDB.java:54)
at application.IMDB$4.run(IMDB.java:387)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$300(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
註冊表項
java -jar "C:\NetBeansProjects\APPLICATION\dist\APPLICATION.jar" "%1"
那麼你在你的java程序中收到了什麼?什麼導致NPE? –
電影的名稱是作爲命令行參數接收的。 當我右鍵點擊一個文件,該文件的名稱是suppossed接收,但沒有收到我猜,這導致NPE。 –
是的,我明白這一點。修改程序以轉儲您實際收到的參數的值,以確保問題確實在傳遞參數。什麼會通過一個錯誤的論證導致NPE? –