2017-02-15 169 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

相关问题