Apple Reporter Sales.getReport 为该方法指定的参数太少或太多
Apple Reporter Sales.getReport Too few or too many parameters specified for the method
我正在整合 Apple Reporter.jar 下载我的应用销售报告,但它抱怨我的参数太少或太多。
Too few or too many parameters specified for the method. Call ApplicationName.getHelp for a list of valid methods and their parameters.
当我调用 Sales.getHelp
时,它告诉我参数应该是:
Usage: java -jar Reporter.jar p=[properties file] m=["Normal"|"Robot.XML"] a=[account number] Sales.[command] [arguments]
where commands include:
getHelp: Returns this help message. No arguments.
getStatus: Returns status of Sales and Trends application. No arguments.
getAccounts: Returns list of available accounts. No arguments.
getVendors: Returns list of available vendor numbers. No arguments.
getReport: Downloads a report. Arguments: Vendor Number, Report Type, Report Subtype, DateType, Date.
所以,如果我想执行 Sales.getReport
命令,看来我需要以下参数:
java -jar Reporter.jar p=[properties file] m=["Normal"|"Robot.XML"] a=[account number] Sales.getReport Vendor_Number Report_Type Report_Subtype DateType Date
这是我使用的命令(带有我通过记者获得的真实帐号和供应商编号):
java -jar Reporter.jar p=Reporter.properties m="Normal" a="XXXXXX" Sales.getReport YYYYYYY Sales Summary Daily 20170130
据我所知,所有这些都匹配得很好:
1) java -jar Reporter.jar | java -jar Reporter.jar
2) p=[properties file] | p=Reporter.properties
3) m=["Normal"|"Robot.XML"] | m="Normal"
4) a=[account number] | a="XXXXXX"
5) Sales.getReport | Sales.getReport
6) Vendor_Number | YYYYYYY
7) Report_Type | Sales
8) Report_Subtype | Summary
9) DateType | Daily
10) Date | 20170130
我尝试在末尾添加一个额外的 asdf
以查看它是否还需要一个参数,但它给了我相同的信息。然后我尝试删除 params 并且它一直给了我相同的错误消息,直到我删除 Sales.getReport
.
是我做错了什么,还是他们的错误信息完全是 wrong/unhelpful?
好吧,无论 Apple 工程师创造了什么 Reporter.jar 都需要被解雇。
问题是我需要将 COMMAS 放在我的命令行参数之间。与命令行使用历史中绝对没有其他命令行使用一样。 Sales.getReport
之后的所有内容似乎都被代码吞噬了,拼凑成一个字符串,然后用逗号分隔,然后才检查参数。
因为我什至尝试将 "YYYYYYY Sales Summary Daily 20170130"
作为单个字符串发送,以检验我的假设,即它需要单个命令行参数,但这没有用。
这是最终对我有用的命令:
java -jar Reporter.jar p=Reporter.properties m="Normal" a="XXXXXX" Sales.getReport YYYYY, Sales, Summary, Daily, 20170129
我不知道那些苹果工程师在设计这个的时候是怎么想的,但他们应该被解雇。我希望 Apple 工程师能成为最优秀的工程师,但这是业余的,对所有标准命令行实践一无所知。</rant>
我正在整合 Apple Reporter.jar 下载我的应用销售报告,但它抱怨我的参数太少或太多。
Too few or too many parameters specified for the method. Call ApplicationName.getHelp for a list of valid methods and their parameters.
当我调用 Sales.getHelp
时,它告诉我参数应该是:
Usage: java -jar Reporter.jar p=[properties file] m=["Normal"|"Robot.XML"] a=[account number] Sales.[command] [arguments]
where commands include:
getHelp: Returns this help message. No arguments.
getStatus: Returns status of Sales and Trends application. No arguments.
getAccounts: Returns list of available accounts. No arguments.
getVendors: Returns list of available vendor numbers. No arguments.
getReport: Downloads a report. Arguments: Vendor Number, Report Type, Report Subtype, DateType, Date.
所以,如果我想执行 Sales.getReport
命令,看来我需要以下参数:
java -jar Reporter.jar p=[properties file] m=["Normal"|"Robot.XML"] a=[account number] Sales.getReport Vendor_Number Report_Type Report_Subtype DateType Date
这是我使用的命令(带有我通过记者获得的真实帐号和供应商编号):
java -jar Reporter.jar p=Reporter.properties m="Normal" a="XXXXXX" Sales.getReport YYYYYYY Sales Summary Daily 20170130
据我所知,所有这些都匹配得很好:
1) java -jar Reporter.jar | java -jar Reporter.jar
2) p=[properties file] | p=Reporter.properties
3) m=["Normal"|"Robot.XML"] | m="Normal"
4) a=[account number] | a="XXXXXX"
5) Sales.getReport | Sales.getReport
6) Vendor_Number | YYYYYYY
7) Report_Type | Sales
8) Report_Subtype | Summary
9) DateType | Daily
10) Date | 20170130
我尝试在末尾添加一个额外的 asdf
以查看它是否还需要一个参数,但它给了我相同的信息。然后我尝试删除 params 并且它一直给了我相同的错误消息,直到我删除 Sales.getReport
.
是我做错了什么,还是他们的错误信息完全是 wrong/unhelpful?
好吧,无论 Apple 工程师创造了什么 Reporter.jar 都需要被解雇。
问题是我需要将 COMMAS 放在我的命令行参数之间。与命令行使用历史中绝对没有其他命令行使用一样。 Sales.getReport
之后的所有内容似乎都被代码吞噬了,拼凑成一个字符串,然后用逗号分隔,然后才检查参数。
因为我什至尝试将 "YYYYYYY Sales Summary Daily 20170130"
作为单个字符串发送,以检验我的假设,即它需要单个命令行参数,但这没有用。
这是最终对我有用的命令:
java -jar Reporter.jar p=Reporter.properties m="Normal" a="XXXXXX" Sales.getReport YYYYY, Sales, Summary, Daily, 20170129
我不知道那些苹果工程师在设计这个的时候是怎么想的,但他们应该被解雇。我希望 Apple 工程师能成为最优秀的工程师,但这是业余的,对所有标准命令行实践一无所知。</rant>