我创建了一个 JAVA 应用程序来获取电影的 IMDB 评级。该应用程序采用一个命令行参数(电影名称)并显示该电影的评级。我已将该应用程序添加到右键单击上下文菜单中。所以,现在当我右键单击时,我需要将文件名(不带扩展名)作为命令行参数传递。我怎样才能做到这一点?
我尝试在注册表中添加 %1
作为占位符,但似乎不起作用。该应用程序通过带有参数的命令行运行。
有人可以帮助我吗?
命令行:
java -jar C:\NetBeansProjects\APPLICATION\dist\APPLICATION.jar daredevil
输出:
错误
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"
最佳答案
put your
jar
file in yourjre/lib/ext
folder then compile your program without-jar
Option.
关于类路径
的一切说法都是正确的,但这是它生存的一个一致且合理的地方。
您可以通过查看 Windows 上的 JAVA_HOME
环境变量来找到您的 jre
文件夹。
关于java - 以文件名作为参数执行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779046/