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

标签 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"

最佳答案

put your jar file in your jre/lib/ext folder then compile your program without -jar Option.

关于类路径的一切说法都是正确的,但这是它生存的一个一致且合理的地方。

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

关于java - 以文件名作为参数执行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779046/

相关文章:

java - 使用 apache poi (.xlsx) 的 excel 2007 无法读取内容

java - 如何使用 JSTL 在 jsp 页面中迭代 ArrayList<HashMap<String, String>>

java - 在哪里放置相机请求权限?

android - 从 ListView 项获取文本

java - 从 Java 中的 JPopupMenu 操作监听器获取目标

.net - 从 .NET Framework 2.0 迁移到 3.5 对客户端的影响

rest - OAuth - 在磁盘上存储什么

c# - INSERT 语句的外键冲突

java - 使用 Selenium 在没有 Select 标签的情况下自动化下拉框

javascript - 定位上下文菜单