2017-11-15 12 views
0

RSS 피드 생성을 위해 로마 도서관을 사용하여 문제가 발생했습니다. https://rometools.github.io/ lib를 pom.xml에 추가하고 AEM 인스턴스에 배포하고 라이브러리를 사용해야하는 서블릿을 호출하면 실패합니다. Iam이 서블릿으로 디버그 할 수 없습니다.로마 사용 OSGI/Adobe AEM

나는 이것이 클래스 로딩 문제이며, rome 도구의 웹 사이트에서 시스템 속성 'rome.pluginmanager.useloadclass'를 true로 설정하는 힌트라고 생각합니다. 이것을 어떻게 할 수 있습니까? 시작 매개 변수로 또는 내부 아파치 펠릭스 콘솔이나 AEM 내의 다른 장소에서 할 수있는 방법이 있습니까? 오류 로그에서

내가 다음과 같은 메시지를 받았습니다 :

failure loooking up method bindRssFeed(org.osgi.framework.ServiceReference) in class class com.xxx.aem.relaunch.servlets.rssfeed.RssFeedServlet. Assuming no such method. (java.lang.NoClassDefFoundError: com/rometools/rome/io/FeedException) 
java.lang.NoClassDefFoundError: com/rometools/rome/io/FeedException 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
at java.lang.Class.getDeclaredMethod(Unknown Source) 
at org.apache.felix.scr.impl.helper.BaseMethod.getMethod(BaseMethod.java:316) 
at org.apache.felix.scr.impl.helper.BindMethod.getServiceReferenceMethod(BindMethod.java:392) 
at org.apache.felix.scr.impl.helper.BindMethod.doFindMethod(BindMethod.java:113) 
at org.apache.felix.scr.impl.helper.BaseMethod.findMethod(BaseMethod.java:171) 
at org.apache.felix.scr.impl.helper.BaseMethod.access$400(BaseMethod.java:37) 
at org.apache.felix.scr.impl.helper.BaseMethod$NotResolved.resolve(BaseMethod.java:558) 
at org.apache.felix.scr.impl.helper.BaseMethod$NotResolved.methodExists(BaseMethod.java:580) 
at org.apache.felix.scr.impl.helper.BaseMethod.methodExists(BaseMethod.java:513) 
at org.apache.felix.scr.impl.helper.BindMethod.getServiceObject(BindMethod.java:643) 
at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.ja va:2137) 
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(Depend encyManager.java:1048) 
at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1457) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractCo mponentManager.java:983) 
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleCompone ntManager.java:812) 
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManage r.java:774) 
at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistratio nImpl.java:347) 
at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.jav a:247) 
at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:344) 
at org.apache.felix.framework.Felix.getService(Felix.java:3699) 
at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:470) 
at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) 
at org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:139 6) 
at org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:137 0) 
at org.apache.felix.scr.impl.manager.ComponentContextImpl.locateService(ComponentContextImpl .java:135) 
at org.apache.sling.servlets.resolver.internal.SlingServletResolver.createServlet(SlingServl etResolver.java:979) 
at org.apache.sling.servlets.resolver.internal.SlingServletResolver.bindServlet(SlingServlet Resolver.java:941) 
at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222) 
at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) 
at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615) 
at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499) 
at org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:41) 
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager. java:1660) 
at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.ja va:1636) 
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponent Manager.java:370) 
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedServic e(DependencyManager.java:319) 
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedServic e(DependencyManager.java:295) 
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.j ava:1215) 
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.j ava:1136) 
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTrack er.java:945) 
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.jav a:881) 
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.ja va:1167) 
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComp onentActivator.java:120) 
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispat cher.java:991) 
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java :839) 
at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546) 
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557) 
at org.apache.felix.framework.Felix.registerService(Felix.java:3549) 
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentMa nager.java:869) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentMa nager.java:857) 
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationMana ger.java:133) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractCompon entManager.java:915) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractCompo nentManager.java:715) 
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(D ependencyManager.java:954) 
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(D ependencyManager.java:915) 
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.j ava:1215) 
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.j ava:1136) 
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTrack er.java:945) 
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.jav a:881) 
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.ja va:1167) 
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComp onentActivator.java:120) 
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispat cher.java:991) 
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java :839) 
at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546) 
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557) 
at org.apache.felix.framework.Felix.registerService(Felix.java:3549) 
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentMa nager.java:869) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentMa nager.java:857) 
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationMana ger.java:133) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractCompon entManager.java:915) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractCompo nentManager.java:715) 
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManage r.java:399) 
at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(Configurabl eComponentHolder.java:676) 
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator .java:339) 
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:360) 
at org.apache.felix.scr.impl.Activator.access$000(Activator.java:53) 
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:260) 
at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:25 9) 
at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232) 
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) 
at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) 
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) 
at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) 
at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatc her.java:916) 
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java :835) 
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517) 
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541) 
at org.apache.felix.framework.Felix.startBundle(Felix.java:2172) 
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) 
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) 
at org.apache.sling.installer.core.impl.tasks.BundleStartTask.execute(BundleStartTask.java:9 7) 
at org.apache.sling.installer.core.impl.OsgiInstallerImpl.doExecuteTasks(OsgiInstallerImpl.j ava:894) 
at org.apache.sling.installer.core.impl.OsgiInstallerImpl.executeTasks(OsgiInstallerImpl.jav a:729) 
at org.apache.sling.installer.core.impl.OsgiInstallerImpl.run(OsgiInstallerImpl.java:286) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: com.rometools.rome.io.FeedException not found by com.xxx.aem.xx-com-relaunch.core 

해결책 :

당신의 pom.xml

<Embed-Dependency> 
       rome, 
       rome-utils, 
       jdom2 
</Embed-Dependency> 
+1

rome rss lib를 AEM에 배포하거나 자신의 jar 파일에 포함합니까? –

+0

나는 해결책을 발견 : 일부 외부 libs와 당신의 pom.xml <삽입 종속성> mailjet 클라이언트, HTTP 클라이언트 - 자바, SOLR-solrj, 사육사에 삽입 종속성 안에 이름되어야한다, GSON, 로마, 당신의 대답에 대한 로마 - 유틸, jdom2 감사합니다. – TimSchwalbe

+1

아래의 해답으로 솔루션을 추가하고 허용으로 표시하십시오. – janih

답변

0

솔루션에 포함 된 종속에 또한 로마 libs와 추가 :

로마 libs도 pom.xml의 포함 된 종속성에 추가하십시오.

<Embed-Dependency> 
       rome, 
       rome-utils, 
       jdom2 
</Embed-Dependency>