以文件名作为参数执行jar文件

时间:2016-03-03 17:32:39

标签: java contextmenu desktop-application right-click

我创建了一个JAVA应用程序来获取电影的IMDB评级。该应用程序采用一个命令行参数(电影的名称)并显示相同的评级。我已将应用程序添加到右键单击上下文菜单中。所以,现在当我右键单击时,我需要将文件名(不带扩展名)作为命令行参数传递。我怎样才能做到这一点?

我尝试在注册表中添加%1作为占位符,但它似乎不起作用。该应用程序在命令行中使用参数。

有人可以帮助我吗?

命令行:

java -jar C:\NetBeansProjects\APPLICATION\dist\APPLICATION.jar daredevil

输出:

enter image description here

右键单击菜单 enter image description here

错误

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"

1 个答案:

答案 0 :(得分:0)

  

将您的jar文件放入jre/lib/ext文件夹,然后在没有-jar选项的情况下编译您的程序。

关于classpath的一切都是真实的,但这是一个让它生存的一致而明智的地方。

通过查看Windows上的jre环境变量,您可以找到JAVA_HOME文件夹。