2017-12-21 1 views
0

Opendaylight의 unimgr에 새 드라이버를 추가하고이 드라이버를 사용할 수 있도록 컨트롤러에 새로운 기능을 추가했습니다.업데이트 Opendaylight Unimgr 기능

그것은 잘 작동하지만 내가 드라이버를 변경하고 (mvn clean install -pl my-new-driver -DskipTests를) 다시 할 때, feature:install odl-unimgr-my-new-driver를 실행 한 후, 나는 아직도 (나는 사전에 데이터 폴더를 삭제해도, 또는 bundle:updatebundle:refresh 수행) 이전 버전을 얻을.

전체 unimgr (및 전체 컨트롤러)를 다시 작성하지 않고 기능을 업데이트 할 수있는 방법이 있습니까?

내 설정에 대한 정보 : SNAPSHOT 버전을 사용하며 unimgr 프로젝트 (unimgr/karaf/target/assembly/bin/karaf)의 일부로 빌드 된 karaf를 실행 중입니다.

답변

2

로컬 프로젝트 karaf 배포판이 대상/어셈블리/시스템 및 대상/어셈블리/etc/org.ops4j.pax.url.mvn.cfg 파일 아래의 모든 아티팩트를 복사하기 때문에 발생했다고 생각합니다. 시스템 아래에서만 보이도록 설정됩니다. 그래서 당신도

  • 다음 대상/조립/시스템에서 unimgr/karaf
  • 사본을 해당 디렉토리에 업데이트 된 유물의 배포판을 다시 할 수 있습니다,이 기능을 다시 설치 업데이트를 얻을 수
  • 은/org.ops4j.pax.url.mvn.cfg 그래서 당신의 ~/.m2/저장소에 보이는 것 등 org.ops4j.pax.url.mvn.localRepository =을 설정합니다. 그런 다음 이슈를 다시 빌드 한 후 해당 기능을 다시 설치하기 만하면됩니다.
+0

감사합니다.하지만 정말로 저에게는 도움이되지 않습니다. 첫 번째 제안은 내가 피하려고하는 것입니다. 두 번째가 부분적으로 작동하지만 (새로운 기능이로드 됨) 예외가 발생합니다 (예 : "Unable to source for ..."). 모든 것을 다시 빌드 할 때 발생하지 않는 부분입니다. 셋째로 - 기능을 재설치하려 할 때, 해결되지 않은 의존성 때문에 실패합니다. – SivanBH

+0

"소스를 제공 할 수 없습니다 ..."오류는 - 전체 오류 및 추적을 볼 필요가 있음을 의미합니다. 2 & 3, 기능을 다시 설치하여 카라프를 중지 한 다음 아티팩트를 다시 작성하고 업데이트 된 아티팩트 2 개를 복사 한 다음 캐시 된 모든 번들을 지우려면 데이터 디렉토리를 삭제 한 다음 카라프를 다시 시작하십시오 (이 단계를 수행 했습니까?). 그런 다음 기능을 설치하거나 기능을 feature/etc/org.apache.karaf.features.cfg에 추가하십시오. 그러면 시작시 자동으로 설치됩니다. –

+0

3, 나는 system/org/opendaylight/*를 삭제해야 ~ ~ .m2/repository에있는 모든 ODL 아티팩트를 찾을 수 있다고 생각한 것을 잊어 버렸다. 필자는 일반적으로 프로젝트 별 배포판을 사용하지 않습니다. - 필자는 featuresBoot를 통해 기능을 배포하는 자체 karaf 설치를 가지고 있으며 ~ /에서 볼 수 있도록 org.ops4j.pax.url.mvn.cfg를 설정했습니다. m2/저장소. 업데이트를 다시 배포해야 할 때 카라프를 중지하고 이슈를 다시 작성하고 데이터를 삭제하거나/* 카라프를 다시 시작합니다. –