Java 如何使用Eclipse跟踪.jar文件中的功能

Java 如何使用Eclipse跟踪.jar文件中的功能,java,eclipse,Java,Eclipse,我已经在IDE上完成了十几个教程,到目前为止,还没有成功。我希望这里有人能给我点启示。。。这个问题的解决方案应该相对简单。(敲门声) 我已经从另一方获得了.jar文件(包括源代码) 某个.jar文件中的某些代码在某些情况下会中断(见图!) 我可以设置系统变量(遗憾的是,这是在windbloze中执行的),并且可以从命令行运行依赖于所述.jar文件中的功能的代码执行,而不会出现任何问题 问题是,我需要能够将EclipseIDE设置为“钩住”到.jar文件中,这样我就可以复制命令行功能,但可以使用I

我已经在IDE上完成了十几个教程,到目前为止,还没有成功。我希望这里有人能给我点启示。。。这个问题的解决方案应该相对简单。(敲门声)

  • 我已经从另一方获得了.jar文件(包括源代码)

  • 某个.jar文件中的某些代码在某些情况下会中断(见图!)

  • 我可以设置系统变量(遗憾的是,这是在windbloze中执行的),并且可以从命令行运行依赖于所述.jar文件中的功能的代码执行,而不会出现任何问题

  • 问题是,我需要能够将EclipseIDE设置为“钩住”到.jar文件中,这样我就可以复制命令行功能,但可以使用IDE的调试器跟踪它

  • 所以,问题基本上有两个方面:1)这在Eclipse(V.4.3.2)中可能吗?2)jar文件如何“挂钩”到只需要执行命令行的项目中

  • 工作命令行代码的示例:

    C:\Work\tmp>设置我的目录=C:/Work/tmp

    C:\Work\tmp>set CLASS\u VARS=%MY\u DIR%/MY\u jar1.jar


    C:\Work\tmp>java-cp%CLASS\u VARS%-DmyTest.properties=%MY\u DIR%/myTest.properties com.theirApp.RemoteExec--params….yada-yada“

    大卫的回答不能解决你的问题。我相信您正在尝试调试可执行JAR。。。如果eclipse上的相应源代码与您正在使用的.jar完全同步,那么可以使用jvm的远程调试功能

    使用以下命令之一执行jar(当然,如果没有清单,请指定主类/类路径)

    Java 1.5之前的版本:

    java-Xdebug-Xrunjdwp:transport=dt\u socket,server=y,suspend=y,address=[portnumberher]-jar[YourJarHere]

    Java1.5+:

    java-agentlib:jdwp=transport=dt\u socket,server=y,suspend=y,address=[portnumberher]-jar[YourJarHere]

    在Eclipse中,为
    远程Java应用程序创建调试配置。确保端口号是应用程序正在侦听的端口号,使用的是
    套接字连接
    选项,并且选择了正确的项目。然后,转到“源”选项卡并添加所有要调试的源目录


    如果操作正确,调试应该与您在内部调试jar时完全一样,只是它是远程的,而且是所有的。

    谢谢。我想这正是我需要做的。我们将试一试,非常感谢您的意见。如果有效的话,我们会发帖的。干杯&无bug代码!因此,远程java应用程序方法似乎不起作用,因此我一直在尝试配置IDE的项目配置工具,以模仿起作用的命令行。应该有一种方法可以精确地复制我在第一篇文章中列出的3个命令,对吗?因为我没有自己的“代码”,所以我只想执行java命令并“跟踪”到那些.jar文件中。我没有要连接的特定端口,只有远程执行调用的端口和IP地址,因此远程调试的套接字连接选项实际上不是解决方案。有什么建议吗?@KokAddict现在你把我弄糊涂了。您指定的端口号可以是任何随机端口,本质上,套接字是一个通信通道,它将EclipseJDWP调试器与远程jar链接起来,允许断点和运行时诊断来回通信。如果您至少没有jar的源代码,就无法调试jar文件。如果无法获取源代码,可以尝试使用反编译器对.class字节码中的java代码进行反向工程,但行号很可能不匹配。@KokAddict完全没有必要自动执行这些批处理命令,Eclipse具有类路径的项目设置。如果需要模拟一组参数,Eclipse也有相应的设置。您确实意识到批处理命令所做的只是创建一些shell环境变量,然后将这些变量输入到相同的
    java
    命令中,指定类路径和属性?看起来您可能想阅读
    java
    命令,除了无法访问jar源代码之外,您真的没有做任何我的答案不允许做的事情。感谢您的更新、输入和后续工作。是的,我运行的命令行代码只是为java命令执行设置路径和变量;不用担心。我有.jar文件和我正在调试的代码。我只是想确定如何使用/设置IDE来钩住.jar文件的执行,以便跟踪它。很抱歉,我无法明确指出,在我的问题中,到目前为止,我确信有一种方法可以通过IDE执行“java-cpxxx-DYYY命令参数”,使其可跟踪,只是不确定如何执行