部署修改后的 jar 后无法使用 eclipse 远程调试 tomcat
fail to remote debug tomcat with eclipse after deploy a modified jar
我正在为 Geoserver
开发一个数据存储插件,为了更快地开发它,我正在尝试远程调试它。 Geoserver
在幕后使用 Tomcat
。我准备了通过 Eclipse
进行远程调试的所有内容并完成了它。现在我可以远程调试我的插件了。但是,当我修改我的代码(我试图添加一个无害的行,如:int noHarm = 5;
)然后将其导出为 jar 并将该 jar 复制到 Geoserver
安装目录下的 webapps\lib\
时,我失败了远程调试插件。之后我将该修改改回它工作时(删除 int noHarm = 5;
)并再次创建 jar,然后将其复制到 webapps\lib\
下,现在我可以再次进行远程调试了。
当我在 Geoserver
中打开商店页面时,它在 canProcess()
方法中的断点处停止,jar 从未修改的代码中导出,或者当我尝试添加新商店时,它在中的断点处停止createDataStore()
方法,jar 从未修改的代码中导出。但是,即使我更改了一小行或添加它也不会在断点处停止,即使它成功连接到虚拟主机(如果有帮助,我使用 vmware workstation
和 windows 7-32 位)。
可能是什么问题?
非常感谢。
我找到了解决方案,大约是 eclipse
。我的源文件不在工作区中,所以在项目 build path --> under the source tab
中我使用了 Link Source
按钮。该按钮允许您将 link java 文件(不在您的工作区下)添加到您的项目中,并让这些文件作为源文件。我做了什么来解决这个问题:
- 然后我将这些文件移动到项目的真实源文件夹下
- 我用它创建了 jar。
- 我停止了 Geoserver(Tomcat) 并将我的 jar 复制到 webapps\lib\
- 我启动了 Geoserver(Tomcat) 并通过 eclipse 远程调试连接到服务器。
完成这些步骤后,我能够对我部署的每个 jar 进行远程调试。
我正在为 Geoserver
开发一个数据存储插件,为了更快地开发它,我正在尝试远程调试它。 Geoserver
在幕后使用 Tomcat
。我准备了通过 Eclipse
进行远程调试的所有内容并完成了它。现在我可以远程调试我的插件了。但是,当我修改我的代码(我试图添加一个无害的行,如:int noHarm = 5;
)然后将其导出为 jar 并将该 jar 复制到 Geoserver
安装目录下的 webapps\lib\
时,我失败了远程调试插件。之后我将该修改改回它工作时(删除 int noHarm = 5;
)并再次创建 jar,然后将其复制到 webapps\lib\
下,现在我可以再次进行远程调试了。
当我在 Geoserver
中打开商店页面时,它在 canProcess()
方法中的断点处停止,jar 从未修改的代码中导出,或者当我尝试添加新商店时,它在中的断点处停止createDataStore()
方法,jar 从未修改的代码中导出。但是,即使我更改了一小行或添加它也不会在断点处停止,即使它成功连接到虚拟主机(如果有帮助,我使用 vmware workstation
和 windows 7-32 位)。
可能是什么问题?
非常感谢。
我找到了解决方案,大约是 eclipse
。我的源文件不在工作区中,所以在项目 build path --> under the source tab
中我使用了 Link Source
按钮。该按钮允许您将 link java 文件(不在您的工作区下)添加到您的项目中,并让这些文件作为源文件。我做了什么来解决这个问题:
- 然后我将这些文件移动到项目的真实源文件夹下
- 我用它创建了 jar。
- 我停止了 Geoserver(Tomcat) 并将我的 jar 复制到 webapps\lib\
- 我启动了 Geoserver(Tomcat) 并通过 eclipse 远程调试连接到服务器。
完成这些步骤后,我能够对我部署的每个 jar 进行远程调试。