我使用com.fazecast.jSerialCom-1.3.9.jar来构建一个串行的com java项目来处理从常规com端口输入的数据。这似乎是非常常见的java项目。该项目的纯Java jar独立运行。不知何故,根据需要,我将其放入我的maven项目pom.xml的依赖部分并配置了我的插件的一部分,然后构建OSGI包将在Fuse操作中生成错误。
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.3.6</version>
<extensions>true</extensions>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<!-- <Import-Package>*,!com.fazecast.jSerialComm</Import-Package> -->
<Embed-Dependency>jSerialComm</Embed-Dependency>
</instructions>
</configuration>
</plugin>
我使用com.fazecast.jSerialCom-1.3.9.jar来构建一个串行的com java项目来处理从常规com端口输入的数据。这似乎是非常常见的java项目。该项目的纯Java jar独立运行。不知何故,根据需要,我将其放入我的maven项目pom.xml的依赖部分并配置了我的插件的一部分,然后构建OSGI包将在Fuse操作中生成错误。
答案 0 :(得分:0)
看起来不错。您需要单独安装additioanal传递依赖项。
在OSGi中,编译依赖项和运行时依赖项是分开处理的。大多数所需的依赖项已经作为maven central中的OSGi包存在。
所以只需使用mvn:groupId / artifactId / version语法作为bundle安装commons-lang3。