0
如何在項目中添加依賴項? OSGI + POI 在執行時該代碼如何將Org.apache.poi添加到Karafa中
import org.apache.poi.ss.usermodel.WorkbookFactory
Workbook wb = WorkbookFactory.create(originalStream);
後執行該代碼,會拋出錯誤
Method threw 'java.lang.ClassNotFoundException' exception.
org.apache.poi.ss.usermodel.WorkbookFactory not found by wrap_mvn_org.apache.poi_poi_3.11 [761]
我pom.xml中添加依賴
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven-bundle-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<instructions>
<DynamicImport-Package>*</DynamicImport-Package>
</instructions>
</configuration>
</plugin>
安裝班德爾karaf:
bundle:install wrap:mvn:org.apache.poi/poi/3.11
bundle:install wrap:mvn:org.apache.poi/poi-ooxml/3.11
bundle:install wrap:mvn:org.apache.poi/poi-ooxml-schemas/3.11
bundle:install wrap:mvn:org.apache.poi/ooxml-schemas/1.1
在Karaf成功的所有包安裝並運行
注意 org.apache.poi.ss.usermodel.WorkbookFactory不wrap_mvn_org.apache.poi_poi_3.11 [761] 搜索發現不捆綁 –
也許你應該使用的ServiceMix提供POI的OSGi包(ORG。 apache.servicemix.bundles/org.apache.servicemix.bundles.poi/3.14_1) –
你爲什麼依賴於舊版本的Apache POI?當你升級到最新的會發生什麼? – Gagravarr