从桌面应用程序/外部应用程序在Google Compute Engine上执行java文件

时间:2013-11-20 11:03:57

标签: google-compute-engine

我已经创建了一个GCE实例(使用persistan磁盘),并成功地使用gcutil从我的机器ssh到该实例。现在假设我已经在GCE实例磁盘中存储了一些java程序/类文件/ jar文件 /home/abc/a.java

现在我想用我的本地机器以编程方式运行它。请指导我如何才能这样做。?

2 个答案:

答案 0 :(得分:1)

最简单的方法是将您的Java程序公开为RESTful Web服务,并通过本地计算机客户端代码中的HTTP调用它。

否则,您需要弄清楚如何standard ssh加入Google Compute Engine。然后使用Java或Gradle任务ssh in并调用您的程序。

答案 1 :(得分:0)

您必须编译Java程序a.java,例如:

javac a.java

然后你可以在本地执行生成的/home/abc/a.class文件(从工作目录/ home / abc /执行):

# If OS is RHEL 7:
java -cp /home/abc a

但是,由于您希望通过远程调用执行,您可以通过ssh执行它。使用您用于登录该GCE实例的本地计算机上的相同远程ssh客户端命令行执行,但向其附加执行命令,例如:

# If GCE is RHEL 7:
ssh -i ~/.ssh/gce.pub -c des -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no abc@110.42.53.22 'java -cp /home/abc a'

请注意,该命令行假定您的GCE帐户的公钥在(本地)〜/ .ssh / gce.pub中,并且abc是GCE用户名(如您所示),并且110.42.53.22是由您的GCE实例的外部IP#替换的组成IP#。根据您的实际情况进行修改。