Apache Storm跳过第二个CommandLine参数

时间:2015-03-30 13:33:56

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

今天我在My Storm拓扑生成器中遇到了一个奇怪且恼人的错误。
问题是当我将我的jar文件提交到storm cluster时它总是跳过传递给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]);
                            }
  

这就是我提交罐子的方式

     

E:\ target&gt;风暴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

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

1 个答案:

答案 0 :(得分:1)

经过一些调试后,我发现只有 windows machine 才会发生这种情况。我能够在2台Windows机器中重现错误。同时使用0.9.3和0.9.4版本的Storm。在Linux机器上,我可以看到命令行参数完美运行。

为[这个bug]筹集的Jira门票。 https://issues.apache.org/jira/browse/STORM-745
更新:针对以后的Windows Storm.cmd版本修复了错误。