java - Apache Storm 跳过第二个命令行参数

标签 java command-line command-line-arguments apache-storm

今天我在 My Storm Topology Builder 中遇到了一个奇怪且烦人的错误。
问题是当我将 jar 文件提交到 Storm 集群时,它总是跳过传递给 main 方法的第二个参数。

public class ZMQTopology {
public static void main(String[] args) throws AlreadyAliveException,
                                                InvalidTopologyException {

                            for(int i=0;i<(args.length);i++)
                            {   System.out.println("I=" +i+ " value="+args[i]);
                            }

This is how i submit my jar

E:\target>storm jar StormZeroMQ.jar com.wipro.bdas.zeromq.ZMQTopology value1 value2 value3 value4 value5

输出

I=0 value=value1

I=1 value=value3

I=2 value=value4

I=3 value=value5

我尝试了所有组合、参数数量、参数类型等,但它跳过了第二个参数。
我想知道我错过了什么..
请帮帮我!

最佳答案

经过一定量的调试后,我发现它只发生在 windows 机器 上。我能够在两台 Windows 机器上重现该错误。使用 Storm 0.9.3 和 0.9.4 版本。在 Linux 机器中,我可以看到命令行参数完美运行。

Jira 票证针对[此错误提出。 https://issues.apache.org/jira/browse/STORM-745
更新:针对更高版本的 Windows Storm.cmd 版本修复了错误。

关于java - Apache Storm 跳过第二个命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29347625/

相关文章:

java - java中如何加载字体?

java - 如何解决两个模块之间的依赖关系

java - 使用 groovy 中的 map 编写 Excel

Java:通过我的程序清除 NetBeans 控制台

linux - "Argument list too long"显示所有列表元素

java - Java 6 支持 TLS1.2

c# - Ghostscript 在命令行调用时抑制输出窗口

java - 从 Clojure 中的字符串解析命令行参数

c# - HelpVerbOption 不工作 - 命令行解析器 C#

c - 用 C 编写命令行函数。 错误