さまざまなタイプのパラメーターを渡す必要がある Java プログラムを実行する方法を知りたいです。ここに著者のプログラムの指示があります:
走る :
$ cd wmart/work/
$ java -jar WMartSimulator <seed> <maxDays> <daysForward> <membersFile> [<parameters>]
Java では、環境によっては十分なオプションが必要になる場合があります。例えば:
$ java -d64 -Xms1G -Xmx30G -Djava.library.path=/usr/ilog/cplex/bin/x86-64_debian4.0_4.1:/usr/local/lib -jar WMartSimulator.jar 0 30 7 member/type1.csv demandfile=demand/trial.csv\;demand/trial.csv:logdir=result/trial-type1
彼の特定の命令を自分の命令にマッピングして、プログラムを実行しようとしました。そして、これが私がやったことです:
Eclipse のプログラム引数には、次のように記述しました。
0 30 7 bin/work/member/type1.csv "demandfile=bin/work/demand/trial.csv"
そして VM 引数:
-Djava.library.path="C:\Program Files (x86)\LPSolve IDE\LpSolveIDE.exe"
それらを設定した後、エラーの次の一般的な説明が表示されました。
java.lang.NullPointerException
at edu.iw.mace.environment.Settings.<init>(Settings.java:69)
at edu.iw.mace.environment.Market.<init>(Market.java:94)
at edu.iw.mace.environment.Market.<init>(Market.java:79)
at org.wmart.core.WBoard.<init>(WBoard.java:67)
at org.wmart.core.WAuctioneer.initialize(WAuctioneer.java:52)
at org.wmart.core.WMart.setupAuctioneers(WMart.java:1339)
at org.wmart.core.WMart.<init>(WMart.java:112)
at org.wmart.core.WMartSimulator.<init>(WMartSimulator.java:83)
at org.wmart.core.WMartSimulator.main(WMartSimulator.java:47)
Settings.java:69 の対応するブロック コードは次のとおりです。
public Settings() throws FactoryException, MaceException {
try {
config = new PropertiesConfiguration(PROPERTIES_FILE);
} catch (ConfigurationException e) {
log.error(e.fillInStackTrace());
}
config.setAutoSave(true);// line 69
initProperties();
}
作者のウェブサイトで規定されていることを正しく守っているのだろうか: https://github.com/ikfj/wmart/#run
私の設定で何が間違っているのか教えていただけますか?. また、これらの特定の問題を扱った特定のドキュメントを教えていただければ幸いです。