Eclipse java.lang.LinkageError:在JIRA中开发SOAP插件时违反加载程序约束
我试图在JIRA中实现一个侦听器,它使用SOAP来联系 一个web服务(实际上是OTRS,另一个问题管理系统)。 我选择遵循SimpleListener实现(JIRA Listener) 事件),而不是大西洋事件。 我选择通过插件机制实现它,而不是 将一次性静态类安装到JIRA的类路径中。 (也许这是个错误的决定,我不知道) 注意:我不太了解SOAP、WSDL,也不太了解JIRA的内部结构 (osgi的codehouse)。 我大体上遵循了以下给出的说明: (和后续说明页) 我已经使用AtlasCreateJira插件为JIRA创建了一个插件 我(使用org.apache.axis.wsdl.WSDL2Java类)生成了 它被称为Apache的Axis版本1——以命令行模式从 WSDL文件:standardTicketActionsSoap.WSDL) 我添加到插件中的一组Java类,例如:Eclipse java.lang.LinkageError:在JIRA中开发SOAP插件时违反加载程序约束,eclipse,maven,soap,jira,otrs,Eclipse,Maven,Soap,Jira,Otrs,我试图在JIRA中实现一个侦听器,它使用SOAP来联系 一个web服务(实际上是OTRS,另一个问题管理系统)。 我选择遵循SimpleListener实现(JIRA Listener) 事件),而不是大西洋事件。 我选择通过插件机制实现它,而不是 将一次性静态类安装到JIRA的类路径中。 (也许这是个错误的决定,我不知道) 注意:我不太了解SOAP、WSDL,也不太了解JIRA的内部结构 (osgi的codehouse)。 我大体上遵循了以下给出的说明: (和后续说明页) 我已经使用Atlas
org/otrs/www/TicketConnector/GenericTicketConnector.java
org/otrs/www/TicketConnector/GenericTicketConnectorLocator.java
org/otrs/www/TicketConnector/GenericTicketConnector_BindingStub.java
org/otrs/www/TicketConnector/GenericTicketConnector_PortType.java
org/otrs/www/TicketConnector/OTRS_Article.java
org/otrs/www/TicketConnector/OTRS_Attachment.java
org/otrs/www/TicketConnector/OTRS_DynamicField.java
org/otrs/www/TicketConnector/OTRS_Error.java
org/otrs/www/TicketConnector/OTRS_PendingTime.java
org/otrs/www/TicketConnector/OTRS_TicketCreate_Ticket.java
org/otrs/www/TicketConnector/OTRS_TicketGetResponse_Article.java
org/otrs/www/TicketConnector/OTRS_TicketGetResponse_Attachment.java
org/otrs/www/TicketConnector/OTRS_TicketGetResponse_Ticket.java
org/otrs/www/TicketConnector/OTRS_TicketSearch_DynamicField.java
org/otrs/www/TicketConnector/OTRS_TicketSearch_TicketFlag.java
org/otrs/www/TicketConnector/OTRS_TicketUpdate_Ticket.java
org/otrs/www/TicketConnector/SessionCreate.java
org/otrs/www/TicketConnector/SessionCreateResponse.java
org/otrs/www/TicketConnector/TicketCreate.java
org/otrs/www/TicketConnector/TicketCreateResponse.java
org/otrs/www/TicketConnector/TicketGet.java
org/otrs/www/TicketConnector/TicketSearch.java
org/otrs/www/TicketConnector/TicketSearchResponse.java
org/otrs/www/TicketConnector/TicketUpdate.java
org/otrs/www/TicketConnector/TicketUpdateResponse.java
我必须根据以下内容手动修改两个生成的类:
,
避免“org.xml.sax.SAXException:无效元素”错误
我对这种方法有三个问题,其中第三个是
真正的问题:
a) 使用FastDev或atlas cli“pi”命令刷新时不可用
使用“[INFO]等待命令…”符号工作(如:
在atlassian的答案页面主题:fastdev不会结束处理
但解决方案对我不起作用),我总是需要关闭整个系统
JIRA测试安装并重新启动。这可能是由于一些错误的原因
插件配置,尽管这是一件让人头疼的事,但我暂时可以接受
b) 通过Maven进行的命令行构建(atlas运行或atlas构建)不会
报告任何错误,而使用Eclipse编译项目将失败
与:
项目生成错误:无法解决的生成扩展名:Plugin com.atlassian.maven.plugins:maven jira Plugin:5.0.13或其一个依赖项无法解决:未能在本地存储库中缓存com.atlassian.maven.plugins:maven jira Plugin:jar:5.0.13,在经过central的更新间隔或强制更新之前,不会重新尝试解析
c) 当侦听器被执行时,我得到一个讨厌的消息:
java.lang.LinkageError:加载程序约束冲突:解析字段“服务”时,引用类org/apache/axis/client/Stub的类加载程序(org/apache/felix/framework/ModuleImpl$ModuleClassLoader的实例)和字段解析类型的类加载程序(org/apache/catalina/loader/WebappClassLoader的实例),org/apache/catalina/loader/WebappClassLoader对于该类型有不同的类对象
在
org.otrs.www.TicketConnector.genericketconnector\u BindingStub.(genericketconnector\u BindingStub.java:98)
这才是真正的表演
这可能是一个简单的Maven配置问题吗?
谢谢
米歇尔