我试图在Liferay (OSGi)中集成Apache,但无法解决gradle项目中POI3.17版本的依赖关系。我使用以下JAR创建了独立项目:
此外,我还在build.gradle中添加了下面的gradle依赖项
compile group: 'org.apache.poi', name: 'poi', version: '3.17'
compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.17'
compile group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '3.17'
compile group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '2.6.0'
compile group: 'org.apache.commons', name: 'commons-collections4', version: '4.1'此外,还在bnd.bnd中提供了相应的jars。知道我在这里错过了什么吗?
发布于 2017-10-29 19:50:32
经过大量研究,我找到了Liferay和Apache集成的解决方案和正确的依赖关系管理。
在build.gradle中添加以下依赖项:
compile group: 'org.apache.commons', name: 'commons-collections4', version: '4.1'compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.4'compile group: 'org.apache.poi', name: 'poi', version: '3.17'compile group: 'org.apache.poi', name: 'poi-excelant', version: '3.17'compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.17'compile group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '3.17'compile group: 'org.apache.poi', name: 'poi-scratchpad', version: '3.17'compile group: 'org.apache.poi', name: 'ooxml-schemas', version: '1.3'compile group: 'org.apache.poi', name: 'ooxml-security', version: '1.1'compile group: 'org.apache.xmlbeans', name: 'xmlbeans', version: '2.6.0'在bnd.bnd文件中添加以下属性
Include-Resource:\ @commons-collections4-4.1.jar,\ @commons-lang3-3.4.jar,\ @ooxml-schemas-1.3.jar,\ @ooxml-security-1.1.jar,\ @poi-3.17.jar,\ @poi-ooxml-3.17.jar,\ @poi-ooxml-schemas-3.17.jar,\ @poi-excelant-3.17.jar,\ @poi-scratchpad-3.17.jar,\ @xmlbeans-2.6.0.jar
Import-Package: \ !com.sun.*,\ !junit*,\ !org.apache.avalon.framework.logger,\ !org.apache.crimson.jaxp,\ !org.apache.jcp.xml.dsig.internal.dom,\ !org.apache.log,\ !org.apache.xml.resolver*,\ !org.bouncycastle.*,\ !org.gjt.xpp,\ !org.junit*,\ !org.relaxng.datatype,\ !org.xmlpull.v1,\ !com.graphbuilder*,\ *
一旦将这些属性添加到给定的文件中。模块将成功和容易地将ApachePOI集成到Liferay中。
发布于 2018-10-02 13:38:52
下面是apache-poi-4.0.0和Liferay 7的osgi文件(bnd.bnd)。不幸的是,您的portlet文件至少为27 at。必须使用Blade客户端部署一些公共库。
java -jar blade.jar sh start http://repo1.maven.org/maven2/org/apache/commons/commons-collections4/4.2/commons-collections4-4.2.jar
java -jar blade.jar sh start http://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18.jar
java -jar blade.jar sh start http://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8/commons-lang3-3.8.jar
java -jar blade.jar sh start http://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
java -jar blade.jar sh start http://repo1.maven.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar
Bundle File:
Bundle-Name: [your-bundle-name]
Bundle-SymbolicName: [your-bundle-symbolicname]
Bundle-Version: 1.0
-jsp: *.jsp,*.jspf
-plugin.jsp: com.liferay.ant.bnd.jsp.JspAnalyzerPlugin
-plugin.resourcebundle:
com.liferay.ant.bnd.resource.bundle.ResourceBundleLoaderAnalyzerPlugin
-plugin.sass: com.liferay.ant.bnd.sass.SassAnalyzerPlugin
-sass: *
Import-Package:\
!com.sun.*, \
!com.graphbuilder*, \
!org.apache.jcp.xml.dsig.internal.dom, \
!org.bouncycastle.*, \
*
Include-Resource:\
@poi-4.0.0.jar, \
@poi-excelant-4.0.0.jar, \
@poi-ooxml-4.0.0.jar, \
@poi-ooxml-schemas-4.0.0.jar, \
@poi-scratchpad-4.0.0.jar, \
@ooxml-schemas-1.4.jar, \
@ooxml-security-1.1.jar, \
@xmlbeans-3.0.1.jarhttps://stackoverflow.com/questions/47004439
复制相似问题