2014-07-18 8 views
1

Sling OSGi Container에 Spring MVC 웹 애플리케이션을 전개하려고합니다. 나는이 가이드를 따른다 http://www.jasonday.net/content/running-spring-mvc-sling#configure-slingdispatcherservlet-sling-aware.Sling OSGi 컨테이너에서 종속성 문제 해결

하지만 Sling OSGi Container에 jar 파일을 배포하면 내 번들이 '활성'이 아니며 '설치됨'입니다. 근본 원인이 일부 종속성이 해결되지 않은 것으로 나타났습니다. 콘솔에서

javax.annotation,version=[1.0,2) -- Cannot be resolved 
javax.inject,version=[1.0,2) -- Cannot be resolved 
net.sf.cglib.beans,version=[2.2,3) -- Cannot be resolved 
net.sf.cglib.core,version=[2.2,3) -- Cannot be resolved 
net.sf.cglib.proxy,version=[2.2,3) -- Cannot be resolved 
net.sf.cglib.reflect,version=[2.2,3) -- Cannot be resolved 
net.sf.cglib.transform,version=[2.2,3) -- Cannot be resolved 
net.sf.cglib.transform.impl,version=[2.2,3) -- Cannot be resolved 
net.sf.cglib.util,version=[2.2,3) -- Cannot be resolved 
org.aopalliance.aop,version=[1.0,2) -- Cannot be resolved 
org.aopalliance.intercept,version=[1.0,2) -- Cannot be resolved 
org.apache.commons.codec,version=[1.5,2) -- Cannot be resolved 
org.apache.commons.codec.binary,version=[1.5,2) -- Cannot be resolved 
org.apache.commons.lang,version=[2.6,3) -- Cannot be resolved 
org.apache.commons.lang.builder,version=[2.6,3) -- Cannot be resolved 
org.apache.commons.lang.math,version=[2.6,3) -- Cannot be resolved 
org.apache.commons.lang.time,version=[2.6,3) -- Cannot be resolved 
org.aspectj.lang,version=[1.6,2) -- Cannot be resolved 
org.aspectj.lang.annotation,version=[1.6,2) -- Cannot be resolved 
org.objectweb.asm,version=[3.2,4) -- Cannot be resolved 
org.objectweb.asm.signature,version=[3.2,4) -- Cannot be resolved 
org.springframework.aop,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.aspectj,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.aspectj.annotation,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.aspectj.autoproxy,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.config,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.framework,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.framework.adapter,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.framework.autoproxy,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.framework.autoproxy.target,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.interceptor,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.scope,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.support,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.support.annotation,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.target,version=[3.0,4) -- Cannot be resolved 
org.springframework.aop.target.dynamic,version=[3.0,4) -- Cannot be resolved 
org.springframework.beans,version=[3.0,4) -- Cannot be resolved 
org.springframework.beans.factory,version=[3.0,4) -- Cannot be resolved 
org.springframework.beans.factory.annotation,version=[3.0,4) -- Cannot be resolved 
org.springframework.beans.factory.config,version=[3.0,4) -- Cannot be resolved 
org.springframework.context,version=[3.0,4) -- Cannot be resolved 
org.springframework.context.annotation,version=[3.0,4) -- Cannot be resolved 
org.springframework.context.support,version=[3.0,4) -- Cannot be resolved 
org.springframework.core,version=[3.0,4) -- Cannot be resolved 
org.springframework.core.io,version=[3.0,4) -- Cannot be resolved 
org.springframework.expression,version=[3.0,4) -- Cannot be resolved 
org.springframework.osgi.extensions.annotation,version=[1.2,2) -- Cannot be resolved 
org.springframework.osgi.web.context.support,version=[1.2,2) -- Cannot be resolved 
org.springframework.stereotype,version=[3.0,4) -- Cannot be resolved 
org.springframework.util,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.bind.annotation,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.bind.support,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.context,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.context.request,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.context.support,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.servlet,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.servlet.handler,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.servlet.mvc.annotation,version=[3.0,4) -- Cannot be resolved 
org.springframework.web.util,version=[3.0,4) -- Cannot be resolved 

는이 오류를 참조하십시오

ERROR: Bundle net.jasonday.examples.sling.spring.mvc [79]: Error starting/stopping bundle. (org.osgi.framework.BundleException: Unresolved constraint in bundle 
net.jasonday.examples.sling.spring.mvc [79]: Unable to resolve 79.0: missing requirement [79.0] package; (&(package=javax.annotation)(version>=1.0.0)(!(version> 
=2.0.0)))) 
org.osgi.framework.BundleException: Unresolved constraint in bundle net.jasonday.examples.sling.spring.mvc [79]: Unable to resolve 79.0: missing requirement [79 
.0] package; (&(package=javax.annotation)(version>=1.0.0)(!(version>=2.0.0))) 
     at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3443) 
     at org.apache.felix.framework.Felix.startBundle(Felix.java:1727) 
     at org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1333) 
     at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:270) 
     at java.lang.Thread.run(Thread.java:662) 

내가 슬링은 OSGi 컨테이너에서 이러한 종속성을 설치하려면 어떻게해야합니까? 이 문제에 대한 조언을 좀주세요.

답변

2

두 번째 오류 메시지는 net.jasonday.examples.sling.spring.mvc 번들에 javax.annotation 패키지 (버전> = 1.0.0 및 < 2.0.0)가 필요하며 해당 패키지가 Sling 인스턴스로 내보내지지 않음을 의미합니다.

IMO이 패키지를 사용 가능하게하는 가장 좋은 방법은 시스템 번들의 패키지 내보내기에 추가하는 조각 번들을 설치하는 것입니다. 슬링 (Slling)과 같은 조각 번들이 있다고는 생각하지 않지만, framework-extension-activation 번들을 예로 들어서 만들면됩니다.

게시 한 첫 번째 오류 메시지를 읽는 것은 다른 번들도 많이 누락되어있는 것 같기 때문에/system/console/bundles를 통해 설치할 수 있습니다. 또는 아래의 슬링 컨텐츠 저장소에 복사 할 수 있습니다. Sling OSGi installer이 활성화 된 경우/apps/yourapp/install과 같은 폴더에 복사하십시오.