java - 如何将 perl 脚本中的空字符串作为命令行参数传递给 java 文件
问题描述
我有一个脚本 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 文件。我检查时间戳是否为空,然后从属性文件中选择值
解决方案
在system的字符串变体中,您需要引用空字符串。您是否尝试过的列表版本system
?
my $DBFetch = system 'java', 'GetWOConfHold_Auto' ,$dbcount, $TimeStamp;
推荐阅读
- php - 显示 Woocommerce 产品的默认折扣价格和百分比
- c# - 对 Ebay 的大量重复 api 调用使用异步方法
- python - 使用 SQLite 了解 PonyORM 中的内存消耗
- java - 在调用等待和通知后,我尝试从主线程加入两个线程
- xamarin - App.xaml.cs 是否必须在应用程序准备好使用之前完成?
- python - Python - 合并两个数据框问题
- google-maps - 使用 Marker Clusterer 自定义显示编号
- python - Python 区分相似的变量名(命名约定)
- ssas-tabular - 在 SSAS 表格 Dax 行过滤器中检查 AD 组中的用户
- angular - 无法在 ngb-tabset 中应用 CSS