在一個項目中,我試圖爲Apache Karaf設置一個自動構建系統(我需要在Karaf中運行幾個命令來設置全新安裝的工作環境)。 Karaf包含一個批處理/腳本文件,它可以設置多個參數,然後調用實際的Java程序。從本質上講,我希望能夠做這樣的事情:重定向INTO Java程序?
java MyProgramClass.class < commandTextFile.txt
但是當我嘗試這一點,什麼都不做。我的目標是簡單地複製karaf.bat文件,稍微修改它(如下所示)以創建一個可以運行的「karaf-install.bat」。我修改karaf.bat的一部分是低於,而我要做的就是在結尾處添加< "C:\commandFile.txt
(以下所有內容在同一行,打破了可讀性):
"%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%"
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
-Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%"
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.data="%KARAF_DATA%"
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties"
%KARAF_OPTS% %MAIN% %ARGS% < "C:\commandFile.txt"
然而,Karaf節目沒有。它就像我正常運行一樣運行;我的命令沒有執行。有沒有辦法從控制檯重定向INTO Java程序?我做錯了嗎?對於它的價值,這將最終在Windows和OS X上完成,但我現在專注於Windows。
更新:原來,這似乎爲我工作在OS X(說「找不到命令:」 Karaf鬥爭(),但我認爲這是因爲它是得到命令之前,它的初始化一切),但Windows仍然沒有得到這些命令。我會更多地探討。
爲什麼需要混淆背書目錄? – 2012-07-06 21:04:59
@ThorbjørnRavn Andersen:我不確定你的意思是... – Cornstalks 2012-07-06 21:05:41
Ext.dir和endorsed.dir。這通常不是必需的 – 2012-07-06 21:06:57