想要发布webservice接口,首先在eclipse中需要有发布webservice接口的工具WSTools,这个可以直接在浏览器搜索nc.uap.mde.wstools.jar
进行下载,由于这些资源都属于csdn上的积分资源,所以就不给某个资源做广告了,请自行百度下载.也可以点击我的下载列表进行下载:
下载完成后将jar包复制到eclipse下的plugins目录下边,如果里边已经包含了一个低版本的包,例如nc.uap.mde.wstools_1.0.0.jar
,我的建议是删除低版本,防止对新版本有影响,重启eclipse.
重启后,右键接口类,发现有wstool选项则安装成功,示例如下:
如果还是不行,有可能部分eclipse已经被公司做过修改,所以可以将jar包放到eclipse下的devplugins\plugins\eclipse\plugins
目录中,如果目录中已经有一个低版本的wstools包,建议删除低版本的,然后重启eclipse.
这里需要注意,eclipse的运行会有插件的缓存,可以在eclipse.ini
中添加-clean
命令,意思是在运行之前清除插件缓存,但是切记,eclipse启动之后,如果插件已经生效,一定要删除这条命令,否则这条命令会导致eclipse启动非常慢.
-clean #在首行添加clean命令,切记稍后需要删除
-vm
jre/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms40m
-Xmx1024m
这里假设你已经按照我的步骤将插件安装成功,已经出现了WS Tools功能了,那么,我们现在看一下接口发布的步骤:
查找原因:通过在eclipse中的log日志中的记录,发现部署上的jar包插件中运行报错,通过显示的异常信息显示
!ENTRY org.eclipse.core.jobs 4 2 2019-03-19 14:27:02.030
!MESSAGE An internal error occurred during: "执行".
!STACK 0
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4282)
at org.eclipse.swt.SWT.error(SWT.java:4197)
at org.eclipse.swt.SWT.error(SWT.java:4168)
at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
at org.eclipse.swt.widgets.Shell.(Shell.java:283)
at org.eclipse.swt.widgets.Shell.(Shell.java:274)
at org.eclipse.swt.widgets.Shell.(Shell.java:224)
at org.eclipse.swt.widgets.Shell.(Shell.java:159)
at nc.uap.mde.wstools.wizards.WSPublishWizard.getMouduleContainer(WSPublishWizard.java:394)
at nc.uap.mde.wstools.wizards.WSPublishWizard.execusePublishTask(WSPublishWizard.java:296)
at nc.uap.mde.wstools.wizards.WSPublishWizard.access$2(WSPublishWizard.java:294)
at nc.uap.mde.wstools.wizards.WSPublishWizard$PublishJob.run(WSPublishWizard.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
可以很简单的找到,发生异常的类是nc.uap.mde.wstools.wizards.WSPublishWizard
,通过反编译的软件查看源代码,发现这个类中的编译文件出现乱码,所以eclipse无法识别,导致eclipse插件无法使用.
解决办法:
通过原因分析,说明下载的这个插件出现了问题,有可能是在向csdn上传资源的时候出现文件损坏,也有可能是eclipse版本更新后,这个插件已经不适用,所以我又重新下载了一个wstools插件,重新部署,就可以成功发布接口了.
最后补一句,能力不足,水平有限,如有说的不对的地方,欢迎指正~