Hallo,
ich arbeite gerade daran ein Smartmeter von einem Netzversorger einzubinden. Dazu hab ich eine neue Bridge angelegt, die SML mit dem Meter sprechen kann. Bei meinen Unit- und Component Tests klappt es schon. Aber wenn ich die Dependencies resovle, komme ich nicht an folgender Fehlermeldung vorbei:
Resolution failed. Capabilities satisfying the following requirements could not be found:
[<<INITIAL>>]
⇒ osgi.identity: (osgi.identity=io.openems.edge.bridge.sml)
⇒ [io.openems.edge.bridge.sml version=1.0.0.202209181024]
⇒ osgi.service: (objectClass=org.openmuc.jrxtx.SerialPort)
[osgi.cmpn version=7.0.0.201802012110]
⇒ osgi.unresolvable: (&(must.not.resolve=*)(!(must.not.resolve=*)))
[org.eclipse.jetty.alpn.server version=9.4.44.v20210927]
⇒ osgi.wiring.package: (&(osgi.wiring.package=org.eclipse.jetty.alpn)(version>=1.1.3))
[ch.qos.logback.classic version=1.2.3]
⇒ osgi.wiring.package: (&(osgi.wiring.package=ch.qos.logback.core.util)(version>=1.2.0)(!(version>=2.0.0)))
Folgende neuen Einträge hab ich in das pom.xml eingetragen:
<dependency>
<groupId>org.openmuc</groupId>
<artifactId>jsml</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.openmuc</groupId>
<artifactId>jrxtx</artifactId>
<version>1.0.1</version>
</dependency>
Und im bnd file steht folgendes:
Bundle-Name: OpenEMS Edge Bridge SML
Bundle-License: https://opensource.org/licenses/EPL-2.0
Bundle-Version: 1.0.0.${tstamp}
-buildpath: \
${buildpath},\
io.openems.common,\
io.openems.edge.common,\
org.openmuc.jsml;version='1.1.2',\
org.openmuc.jrxtx;version='1.0.1',\
jaxb-api
-testpath: \
${testpath}
Die Native Library die noch benötigt wird, hab ich über die Project Settings schon eingetragen. Denke an der liegt es nicht.
Kann mir jemand weiterhelfen? Liegt das an einer Versions-Inkompatibilität? Ich bin kurz davor jrxtx zu verwerfen und selber einen Serial-Port-Wrapper zu schreiben. Hab leider schon viel Zeit ins debuggen von dem Problem gesteckt. Aber ich kenn mich mit BND-Tools noch nicht gut aus.
Danke schon mal.