首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将命令行参数传递给javaws (Java WebStart)可执行文件

将命令行参数传递给javaws (Java WebStart)可执行文件
EN

Stack Overflow用户
提问于 2009-09-08 21:29:15
回答 3查看 28.4K关注 0票数 12

对于那些可能不想读那么多的人来说:

我该怎么做:?如果我们可以将ad-hoc命令行参数传递给javaws,那么javaws应用程序可能更像是“一等公民”“普通应用程序”。例如,我们可以传递要打开的文件的文件名。

我想知道是否有办法将“即席”命令行参数传递给javaws可执行文件。我已经知道如何在JNLP文件中指定它们:

代码语言:javascript
复制
<application-desc main-class="org.example.ClassName">
<argument>...

虽然这可以用于我想要完成的事情,但我将其视为一种变通方法。我试过了

代码语言:javascript
复制
javaws http://example.org/launch.jnlp <some CLI args here>

但我认为“这里的一些CLI参数”被忽略了。

如果我们可以将ad-hoc命令行参数传递给javaws,那么javaws应用程序可能更像是“一等公民”“普通应用程序”。例如,我们可以传递要打开的文件的文件名。例如:

代码语言:javascript
复制
javaws [options] http://example.org/launch.jnlp my_file.jpg

将参数硬编码到JNLP中并不能满足这个用例。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-26 04:04:24

没有什么好混淆的。我测试的非常直接的答案,它工作得很完美。

将命令行参数发送到任何JNLP都非常简单。

命令提示符> javaws -open space arg1 space arg2 ... space arg n JNLP url

例如:

c:\>javaws -open arg1 arg2 arg3 c:\myjnlp.jnlp

但请记住一件事,我们可以在main方法中以args[0]的形式获得-open,所以只要避免使用args[0]即可。此外,也不可能避免使用以-为前缀的直接参数的-open

票数 6
EN

Stack Overflow用户

发布于 2009-09-09 11:04:06

javaws可执行文件接受一个运行选项-arg <argument>,它允许被调用者向应用程序发送参数。我认为这些被附加到jnlp文件中的参数中。

因此,您的呼叫可能如下所示:

代码语言:javascript
复制
javaws [options] -arg my_file.jpg http://example.org/launch.jnlp

OpenJDK:上面的解决方案只适用于接受-arg参数的。根据this blog post的说法,另一种选择是您可以使用URL查询字符串参数将参数传递给JNLP文件。这显然只在你使用完整的网址执行javaws时有效,如果你以下载链接的形式访问它就不会起作用。我没有对此进行测试,因此它可能会工作,也可能不会工作。

票数 3
EN

Stack Overflow用户

发布于 2010-09-29 23:30:16

使用参数动态生成webstart jnlp文件。

$ javaws options

代码编写器捕获查询参数,并从该参数写出动态jnlp

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1396426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档