天天看点

深入理解JAVA虚拟机--Idea远程执行本地Java代码

<a href="#%e5%b7%a5%e7%a8%8b%e9%85%8d%e7%bd%ae">工程配置</a>

<a href="#%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e9%85%8d%e7%bd%ae">上传文件配置</a>

<a href="#%e8%bf%90%e8%a1%8c%e7%bb%93%e6%9e%9c">运行结果</a>

<a href="#%e6%ba%90%e4%bb%a3%e7%a0%81">源代码</a>

<a href="#%e8%81%94%e7%b3%bb%e4%bd%9c%e8%80%85">联系作者</a>

今天在看深入理解java虚拟机的9.3节,作者实现了一个远程执行功能。这个功能可以在远程服务器中临时执行一段程序代码,而去不依赖jdk版本,不改变原有服务端程序的部署,不依赖任何第三方库,不入侵原有的程序,不会对原有程序运行带来任何影响。程序的原理可以去看书,本文主要结合idea把使用过程记录一下

新建一个工程,把书中的5个类倒入,然后写一个测试类(test),这个类的代码就是要让远程服务器自动执行的。test.jsp是用来触发远程服务器执行本地的java代码。目录结构如下图所示:

深入理解JAVA虚拟机--Idea远程执行本地Java代码

书中作者使用的是eclipse并自己实现了一个插件,可以把本地文件上传到服务器中去,这样如果有灵感时,直接本地写一段测试代码,然后通过插件一键上传到服务器即可。使用idea不用这样麻烦,idea有自带的上传文件到服务器的插件,插件名称为remote host,remote host配置如下,首先配置远程服务器的文件夹,我使用的tomcat,我就直接配置到了tomcat目录下的webapp中

深入理解JAVA虚拟机--Idea远程执行本地Java代码

然后配置mapping,这个就是配置一个对应关系,(本地目录–&gt;服务器目录),

深入理解JAVA虚拟机--Idea远程执行本地Java代码

这样配置结束后,在本地工程目录上点击“upload to ..“,即可把本地文件上传到服务器中去

深入理解JAVA虚拟机--Idea远程执行本地Java代码

我这边是把编译好的class文件上传到了服务器工程的web-inf/classes中,然后把test.jsp上传到了服务器工程的根目录下,这样直接运行ip:port/工程名/test.jsp即可输出我们测试代码的结果,如下图所示

深入理解JAVA虚拟机--Idea远程执行本地Java代码

<a href="https://github.com/lqzyc/remoterunlocaljavasource">下载地址</a>

<a href="http://blog.csdn.net/lqleo323">csdn</a>

继续阅读