通过bash脚本执行jar文件

问题描述:

我想从bash脚本中使用java -jar命令执行jar文件。同时,我传递了几个参数,我可以在我的主要方法中使用args []来访问。通过bash脚本执行jar文件

我可以,如果我尝试这样做没有任何问题,

java -jar org.sample.jar localhost 8080 

,但我想使这些参数通过几个变量配置。

如: -

HOST=localhost 
PORT=8080 

当我尝试使用上述类似下列变量,bash脚本就会失败。

java -jar org.sample.jar $HOST $PORT 

我也尝试使用“$ HOST”,但没有任何运气。我在这里做错了什么?

UPDATE

我用Cygwin来执行/调试我的bash脚本。一旦我使用git bash执行相同的脚本,它就可以工作。

你应该把这个包装在一个bash脚本中并使用bash参数。

假设你将有一个脚本文件sample.sh。

在sample.sh

,它只包含一个线,这是java -jar org.sample.jar "[email protected]"

然后通过bash sample.sh -Host hostname -port 8080

Here is a post about how to do this.

UPDATE

执行你的JAR文件中使用的变量bash脚本,您的脚本将如下所示:

Host="localhost" 
Port=8080 

java -jar org.sample.jar $Host $Port 

我正在使用Eclipse,我只写了一个具有主方法并打印所有参数的类。然后我使用Eclipse来导出一个jar文件,然后使用这个解决方案,它工作。

+0

是的,但我的要求是使用我的bash脚本中存在的变量。我不想执行我的bash脚本传递参数。 – udarakr

+0

@udarakr查看我的更新 –

+0

我没有看到任何区别,因为您确实不需要使用“”来定义主机变量。据我所知只有你有一个空格时才需要引号Eg: - 本地主机 – udarakr