Hi all,
I encountered a problem while running the nemo project. I added the following third-party dependencies in my pom file:
<dependency>
<groupId>net.sourceforge.collections</groupId>
<artifactId>collections-generic</artifactId>
<version>4.01</version>
</dependency>
<dependency>
<groupId>net.sf.jung</groupId>
<artifactId>jung-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>net.sf.jung</groupId>
<artifactId>jung-graph-impl</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>net.sf.jung</groupId>
<artifactId>jung-algorithms</artifactId>
<version>2.0.1</version>
</dependency>
The project could be built successfully, but when I ran the project and installed my feature, I got the following error:
Error executing command: Can't install feature odl-nemo-engine/0.0.0:
Could not start bundle mvn:org.opendaylight.nemo/nemo-impl/1.0.0-SNAPSHOT in feature(s) odl-nemo-engine-1.0.0-SNAPSHOT: The bundle "org.opendaylight.nemo.impl_1.0.0.SNAPSHOT [166]" could not be resolved. Reason: Missing
Constraint: Import-Package: edu.uci.ics.jung.algorithms.filters; version="0.0.0"
Then, I added the following configuration in the pom file and solved this problem.
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-ClassPath>.,{maven-dependencies}</Bundle-ClassPath>
<Import-Package>*;resolution:=optional</Import-Package>
<Export-Package>*</Export-Package>
<Embed-Dependency>*</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Embed-Directory>lib</Embed-Directory>
<Embed-StripGroup>true</Embed-StripGroup>
<_failok>true</_failok>
<_nouses>true</_nouses>
</instructions>
<manifestLocation>${project.build.outputDirectory}/META-INF</manifestLocation>
</configuration>
</plugin>
But when I ran the project again, I got an exception as follows:
Exception in thread "config-pusher" java.lang.NullPointerException: Namespace urn:opendaylight:params:xml:ns:yang:nemo:engine:impl, defined in: module nemo-engine-impl of type nemo-engine-impl not found, available namespaces:
[urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider, urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:pingpong, urn:opendaylight:params:xml:ns:yang:controller:config:toaster-provider:impl, urn:opendaylight:params:xml:ns:yang:controller:config:distributed-datastore-provider,
urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl:fixed, urn:opendaylight:params:xml:ns:yang:controller:config:distributed-entity-ownership-service, urn:opendaylight:params:xml:ns:yang:controller:config:concurrent-data-broker, urn:opendaylight:params:xml:ns:yang:controller:shutdown:impl,
urn:opendaylight:params:xml:ns:yang:controller:netty:timer, urn:opendaylight:params:xml:ns:yang:controller:netty:threadgroup, urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl, urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl:scheduled,
urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl:flexible, urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor, urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl, urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl,
urn:opendaylight:params:xml:ns:yang:controller:config:remote-rpc-connector, urn:opendaylight:params:xml:ns:yang:controller:config:kitchen-service:impl, http://netconfcentral.org/ns/XSQL]
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:250)
at org.opendaylight.controller.config.facade.xml.mapping.config.Config.getModuleMapping(Config.java:281)
at org.opendaylight.controller.config.facade.xml.mapping.config.Config.resolveModule(Config.java:216)
at org.opendaylight.controller.config.facade.xml.mapping.config.Config.fromXmlModulesMap(Config.java:181)
at org.opendaylight.controller.config.facade.xml.ConfigExecution.getModulesDefinition(ConfigExecution.java:58)
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.handleMisssingInstancesOnTransaction(ConfigSubsystemFacade.java:246)
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.test(ConfigSubsystemFacade.java:163)
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.executeTests(ConfigSubsystemFacade.java:149)
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.executeConfigExecution(ConfigSubsystemFacade.java:123)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfig(ConfigPusherImpl.java:284)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfigWithConflictingVersionRetries(ConfigPusherImpl.java:143)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.internalPushConfigs(ConfigPusherImpl.java:113)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.processSingle(ConfigPusherImpl.java:81)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.process(ConfigPusherImpl.java:74)
at org.opendaylight.controller.config.persist.impl.osgi.ConfigPersisterActivator$2.run(ConfigPersisterActivator.java:131)
at java.lang.Thread.run(Thread.java:744)
java.lang.IllegalStateException: Class class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.impl.rev151010.NemoEngineModuleFactory does not implement interface org.opendaylight.controller.config.spi.ModuleFactory
in bundle org.opendaylight.nemo.impl_1.0.0.SNAPSHOT [166]
Is there anybody can help me and give me some suggestions? Thanks so much!
Best Regards,
Zhigang