Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google compute engine 从桌面应用程序/外部应用程序在Google计算引擎上执行java文件_Google Compute Engine - Fatal编程技术网

Google compute engine 从桌面应用程序/外部应用程序在Google计算引擎上执行java文件

Google compute engine 从桌面应用程序/外部应用程序在Google计算引擎上执行java文件,google-compute-engine,Google Compute Engine,我已经创建了一个GCE实例(使用persistan磁盘),并成功地使用gcutil从我的机器ssh到该实例。现在,假设我在GCE实例磁盘中存储了一些java程序/类文件/jar文件 /home/abc/a.java 现在我想用java在本地机器上以编程方式运行它。请指导我如何做到这一点。?最简单的方法是将java程序公开为RESTful web服务,并通过HTTP从本地机器的客户端代码调用它 否则,您将需要了解如何进入谷歌计算引擎。然后使用Java或Gradle任务通过ssh连接并调用您的程序。

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


现在我想用java在本地机器上以编程方式运行它。请指导我如何做到这一点。?

最简单的方法是将java程序公开为RESTful web服务,并通过HTTP从本地机器的客户端代码调用它


否则,您将需要了解如何进入谷歌计算引擎。然后使用Java或Gradle任务通过ssh连接并调用您的程序。

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

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

但是,因为您希望通过远程调用来执行,所以可以通过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帐户的公钥位于(local)~/.ssh/GCE.pub中,abc是GCE用户名(如您所示),110.42.53.22是一个组成的IP,您可以用GCE实例的外部IP替换。修改以适应您的实际情况

# 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'