我使用ant
在Eclipse中创建.jar文件。效果很好。
我正在处理一个.jar文件,希望代码位于.jar文件中(它在.jar文件所在的目录中查找.properties文件) - 标准Eclipse“Run”和“Debug”菜单执行指定Java类的main()
方法......但它们是从包含已编译类文件的目录执行的,而不是jar文件。有没有办法改变这种行为,所以Eclipse从相应的.jar文件运行代码?
(我现在的解决方法是在外部运行.jar文件,并根据Dave Ray's answer to one of my other questions暂停等待调试器。)
答案 0 :(得分:60)
您可以通过像这样运行jar来使用远程调试
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar yourJar.jar
然后从IDE连接到该端口
答案 1 :(得分:30)
是的,您可以创建自定义“Run Configuration
”:
即,一个“Java Application
”,其中:
Classpath
标签从其默认内容(.class
目录)清空并添加了jar Source
标签及其默认内容(应引用项目的src
目录)可以运行或调试一个这样的配置。
(使用jar作为用户条目的自定义配置示例)
答案 2 :(得分:5)
我刚刚找到以下链接,它描述了远程调试Java jar的整个过程。
Debug Java applications remotely with Eclipse
主要部分是:
目标虚拟机充当调试服务器
java -Xdebug -Xrunjdwp:transport = dt_socket,server = y,address =“8000”-jar Test.jar的
目标虚拟机充当调试客户端
java -Xdebug -Xrunjdwp:transport = dt_socket,address = 127.0.0.1:8000,suspend = y -jar test.jar
根据您运行目标虚拟机,客户端或服务器的方式,您必须以不同方式配置Eclipse。
如果您将目标虚拟机启动为客户端 ,则答案 3 :(得分:-1)
我会尝试使代码更健壮,使属性文件位置可配置,或者只是让它从类路径加载它。然后,您可以直接将属性文件添加到eclipse类路径中。问题被淘汰了!