我们目前正在创建一个需要在 SLING/OSGI 上使用 ATG 标签库的应用程序,我们已经创建了一个包含这些标签库的包并上传了它,当然这些标签库调用 ATG 类,所以我们使用 sling.properties 文件将它们包含在 bootdelegation 中.
sling.bootdelegation.simple=atg.nucleus sling.bootdelegation.class.atg.nucleus.Nucleus=atg.appassembly,\atg.appassembly.ant,\atg.appassembly.progress,\atg.appassembly.util,\ ... ETC...
首先我们得到这个错误:
org.apache.sling.api.scripting.ScriptEvaluationException: atg/taglib/dspjsp/ImportBeanTag at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:163) at org.apache.sling.scripting .core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:107) 在 org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:226) 在 org.apache.sling.engine.impl.request .RequestData.service(RequestData.java:465)
……
.... 引起:java.lang.NoClassDefFoundError: atg/taglib/dspjsp/ImportBeanTag 在 org.apache.jsp.apps.mygeometrixx.components.contenpage.center_jsp._jspx_meth_dsp_005fimportbean_005f0(center_jsp.java:177) 在 org.apache。 jsp.apps.mygeometrixx.components.contenpage.center_jsp._jspService(center_jsp.java:154) 在 org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet。 http.HttpServlet.service(HttpServlet.java:810) 在
因此,我们将 atg.taglib.dspjsp 添加到要添加到 bootdelegation sling.properties 文件中的包中。
然后我们得到了这个错误:
org.apache.sling.api.scripting.ScriptEvaluationException: atg.taglib.dspjsp.ImportBeanTag at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:163) at org.apache.sling.scripting .core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:107) 在 org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:226) 在 org.apache.sling.engine.impl.request .RequestData.service(RequestData.java:465) ...
引起:java.lang.ClassCastException: atg.taglib.dspjsp.ImportBeanTag atg.apache.sling.scripting.jsp.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:125) at org.apache.jsp.apps。 mygeometrixx.components.contenpage.center_jsp._jspx_meth_dsp_005fimportbean_005f0(center_jsp.java:177) 在 org.apache.jsp.apps.mygeometrixx.components.contenpage.center_jsp._jspService(center_jsp.java:154) 在 org.apache.sling.scripting。 jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
所有这些都在 JBOSS 上运行。
有没有办法避免导致强制转换异常的此类冲突?