我正在为Geoserver开发一个数据存储插件,为了更快地开发它,我正在尝试对其进行远程调试。 Geoserver在窗帘后面使用Tomcat。我准备了通过Eclipse进行远程调试的所有内容,并完成了它。现在,我可以远程调试插件了。但是,当我修改代码(尝试添加无害的行,例如:int noHarm = 5;)然后将其导出为jar并将该jar复制到webapps\lib\安装目录下的Geoserver时,我无法远程调试插件。之后,我将该修改更改回工作的状态(删除了int noHarm = 5;)并再次创建了jar,然后将其复制到了webapps\lib\下,现在我可以再次进行远程调试了。

当我在Geoserver中打开商店页面时,它停止在canProcess()方法中的断点处,并且该jar从未修改的代码中导出,或者当我尝试添加新的商店时,它停止在createDataStore()方法中的断点处,并且该罐中已经将其导出了来自未修改的代码。但是,即使我更改了一条细线或添加它,即使它成功连接到虚拟主机也不会在断点处停止(如果有帮助,我可以在Windows 7-32位上使用vmware workstation)。

可能是什么问题呢?

首先十分感谢。

最佳答案

我找到了解决方案,大约是eclipse。我的源文件不在工作区中,因此在我使用build path --> under the source tab按钮的项目Link Source中。该按钮允许您将Java文件(不在工作空间中)链接到项目,并让这些文件充当源文件。我为解决此问题所做的工作:


然后,我将这些文件移到项目的真实源文件夹下
这样,我创建了jar。
我停止了Geoserver(Tomcat)并将我的jar复制到webapps \ lib \下
我启动了Geoserver(Tomcat)并通过Eclipse远程调试连接到服务器。


完成这些步骤后,我可以对部署的每个jar进行远程调试。

10-05 18:23