2017-02-15 217 views
0

我是java & shell的新手。我只是有關於程序一個模糊的想法,就像這 -如何使用shell腳本將參數傳遞給java代碼

  1. 做出可執行的JAR文件
  2. 做一個shell腳本文件&包含此命令在它

    Java的罐子/家/usr/mystuff/jarFile.jar ARG1參數3

  3. 現在的疑惑是 -

    • 在我的Eclipse eclipse項目中有很多文件。我是否需要製作一個只有具有main()方法的文件的可執行jar?
    • 我使用腳本提供的參數是否會被主函數收集。
    • 什麼是在shell中傳遞參數的語法。像$ VAR或VAR或「VAR或別的東西
+0

對不起,但這是廣泛的方式。整個教程都是關於這些東西的...所以:先做一些研究。換句話說:當你不知道**時,不要嘗試使用工具**你在做什麼。這是行不通的。 – GhostCat

+0

我想你正在使用Maven或Gradle,它們都有插件,你不必重新發明輪子。 – user3707125

回答

0

要以這種方式運行jar文件,java -jar /home/usr/mystuff/jarFile.jar。你必須指定你的罈子清單文件中有您的主類。清單文件必須被放置在一個META-INF文件夾中的jar文件的根

例如,您的MANIFEST.MF文件應包含一個類似的條目:

Main-Class: com.example.MainClass 

與全面替代com.example.MainClass QUA您的主類的名稱

當您從Java項目>導出選項>「可運行Jar」創建「Runnable Jar」時,上述列出的整個過程將由您的IDE(如Eclipse)處理。


至於從腳本傳遞參數到Jar,您可以直接或通過使用腳本中的變量傳遞值。

例如,直接:

java -jar /home/usr/mystuff/jarFile.jar arg1 arg2 arg3 

或通過shell變量:

var1="arg1" 
var2="arg2" 
var3="arg3" 
java -jar /home/usr/mystuff/jarFile.jar $var1 $var2 $var3 

希望這有助於!

0

1)你將不得不創建一個可執行的JAR文件,是(使用Ant,常春藤,Maven的或其他)

2)當你折騰的東西jar文件收集參數,jeah java -jar <jar-file> "Something goes in here" -DmyCoolVariable=hello 3)它取決於,如果你在腳本中有變量,那麼傳遞變量 - 如果你使用的是「靜態」東西,那麼只需將變量直接傳遞給命令即可。像這樣: java -jar <jar-file> "$variables" -DmyCoolVariable=$someProperty

相關問題