java - 在远程或虚拟机上启动和调试 Java 应用程序

标签 java eclipse

我知道如何在已经存在的机器上远程调试 java 应用程序,但是有谁知道可以从本地工作区(例如 eclipse)启动的解决方案,将本地类路径中的任何代码传输到远程或虚拟机,在那里执行它并连接一个远程调试器,一步到位?我希望某种服务器需要在远程机器上运行以接受类文件并执行它们。

我曾经用 JUnit 做过类似的事情,通过 RMI 将本地测试用例传输到远程机器并在那里执行它们,将结果传输回我的 eclipse。因为这些测试用例是 JUnit 测试,所以很容易将其与 Eclipse 中的 JUnit 启动器和工具集成,但对于调试整个应用程序,我怀疑它会稍微复杂一些。

我想问一下是否有任何解决方案,或者是否有人以前这样做过并会指出正确的方向。

VMWARE 工作站有类似的东西,但我在 Mac 上开发,它在 Fusion 中不可用。

最佳答案

如果您想调试测试应用程序或其他东西,则没有说明。我假设它是一个普通的 Java 应用程序。您可以在远程虚拟机中设置 SMB 共享或 ftp 服务器,然后使用 ant 任务将所有类文件 jar 并将它们复制到第二个虚拟机。因为您使用的是 mac,所以您可以使用 ssh 连接并使用调试标志启动 java 应用程序。然后,这将是一个两步过程:

  • Ant 脚本
    • 打包所有编译后的代码
    • 复制编译后的代码(FTP、SCP、SMB 或类似的东西)
    • 使用 ssh 连接并使用调试选项启动应用程序。您可以使用等待服务器等待传入连接的选项。

然后在 Eclipse 上,您将拥有一个远程调试配置,它将以指定的代码连接到远程机器。

要一步完成,可以通过编写一个扩展 Debug Launcher 的小型 Eclipse 插件来完成。您可以扩展远程调试启动以执行这些自定义复制代码。

关于java - 在远程或虚拟机上启动和调试 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362406/

相关文章:

java - 检查两个 arraylist 对象是否匹配

eclipse - 在 Eclipse WTP 服务器中记录输出

android - Eclipse 无法识别 Android 设备,但 adb 可以

android - 错误 : No resource found that matches the given name (at 'icon' with value '@drawable/icon' )

java - 使用 Maven 在 EAR 中包含库

c# - 字符串文字和字 rune 字可以连接吗?

Java排序价格值升序和降序

java - kairosdb 和 Elasticsearch 集成

java - Netty SimpleChannelInboundHandler 关闭 channel

java - 在 Eclipse RCP 中将焦点设置到 Eclipse 控制台 View