簡體   English   中英

如何將空字符串從perl腳本傳遞到java文件作為命令行參數

[英]how to pass an empty String from perl Script to java file as a command line argument

我有一個腳本order.pl它有3個變量

$dbcount=$ARGV[0];
if($dbcount == ""){$dbcount = 196001;}

$Num_Batches =$ARGV[1];
if($Num_Batches == ""){$Num_Batches=1;}
print "batches:$Num_Batches\t";

$TimeStamp = $ARGV[2];
if($TimeStamp == ""){$TimeStamp = "";}

$DBFetch = 'java GetWOConfHold_Auto '. $dbcount." ".$TimeStamp ;
print "DBFetch:$DBFetch\n";
print "timestamp :$TimeStamp";
system($DBFetch);

這里的Java文件是GetWOConfHold_Auto.java,我想將dbcount和空字符串作為命令行參數發送到GetWoConfHol_Auto Java文件,但是

在運行時它顯示

perl order.pl 196000 1
batches:1       timestamp:      dbcount:196000  DBFetch:java GetWOConfHold_Auto 196000 

timestamp :args[0] 19600 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
        at GetWOConfHold_Auto.main(GetWOConfHold_Auto.java:18)
no of picking updates data : 0
No data.exiting

我嘗試打印時間戳,但顯示

timestamp :args[0] 19600  not the empty String

在Java中,它在主方法簽名處停止

我想將空字符串作為命令行參數發送到java文件。 我檢查時間戳是否為null只是去從屬性文件中選擇值

system的字符串變體中,您需要引用空字符串。 您是否嘗試過system的列表版本?

my $DBFetch = system 'java', 'GetWOConfHold_Auto' ,$dbcount, $TimeStamp;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM