eclipse + remote java application

本文介绍如何使用Eclipse的Remote Java Application功能,在Windows平台上调试运行于Linux环境中的Java程序。通过详细步骤演示了从创建项目、编译代码到远程调试的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章来源:http://routeadd-net202.114.6.yulei.blog.chinaunix.net/uid-28765492-id-3984003.html

一、实验目的

利用eclipse的Remote Java Application功能,在windows平台调试运行在linux环境下的java程序。

二、实验条件

1、安装好java环境+eclipse的windows主机一台
2、安装好java环境的linux主机一台(或运行在windows主机上的虚拟机)

三、实验步骤

1、在windows上,打开eclipse,建立HelloWord工程,类名为demo1.app



2、编译生成app.class

3、将app.class拷贝到linux系统下,如保存为/root/eclipse/workspace/HelloWorld/demo1/app.class

4、在linux上,输入指令: # java -agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y -jar /root/eclipse/workspace/HelloWorld/demo1.app
    控制台输出:Listening for transport dt_socket at address: 8888



5、在windows上,eclipse中右键工程名,打开Debug Configuration,并配置如下
    记得配置好apply再按debug


按下debug,



此时便可以step into/step over/resume来调试linux上的java程序了,这里按下resume退出程序。
可以看到linux控制台成功打印出”Hello World!“:


四、实验扩展

1、若需要调试的应用程序很庞大(包含很多.class),可以利用jar将所有的class打包

    打包指令: jar cvf AllClass.jar main.class 1.class 2.class 3.class ... n.class

    然后双击打开AllClass.jar, 找到META-INF/MANIFEST.MF,在里面添加一行: Main-Class: main  ,其中main是你程序的入口类

    Manifest-Version: 1.0
     Main-Class: main                               
    Created-By: 1.6.0_27 (Sun Microsystems Inc.)

    若不执行这一步骤,运行程序java -jar AllClass.jar 时会出现"找不到主类的错误"

2、利用eclipse的ftp功能,让eclipse主动上传工程中所有class文件,并利用ssh功能在linux中正确打包

     这步骤主要是参考CDT里的Remote Debug原理,有待以后研究。

五、参考文章

1、 Debugging Java Applications Remotely
2、 How to fix Failed to load Main-Class manifest attribute from jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值