1

我在 Liferay 6.2 中使用 DocuSign 进行数字签名,现在我们正在使用 Gradle 工作区迁移到 Liferay 7.3。

在 MVC Portlet 中:

我尝试使用这个compileOnly 组:'com.docusign',名称:'docusign-esign-java',版本:'2.8.0',并得到类似Unresolved requirements: Import-Package: com.docusign.esign.api 的错误。

如果我尝试使用这个compileInclude group: 'com.docusign', name: 'docusign-esign-java', version: '2.8.0' 那么我在运行时遇到JAVA Heap space error。正如您所提到的,我通过引用该链接修改了我的 UI 模块。我的 bnd文件:

Import-Package:\
    **!com.sun.jersey.api.container,\
    !com.sun.jersey.api.core,\
    !com.sun.jersey.api.model,\
    !com.sun.jersey.server.impl.inject,\
    !com.sun.jersey.server.impl.model.method.dispatch.\
    ***

并在 build.gradle 中添加一个条目,就像

**compileInclude group: 'com.docusign', name: 'docusign-esign-java', version: '2.8.0'**

模块启动后,它会立即抛出异常,例如

FrameworkEvent ERROR org.osgi.framework.ServiceException: Exception in org.apache.felix.scr.impl.manager.SingleComponentManager.getService().

BundleComponentActivator : Unexpected failure enabling component holder.
4

1 回答 1

0

当依赖项不是非 OSGi JAR 时,我们使用 compileinclude。也许这是你的情况。

只是为了仔细检查,看看这个指南:

https://learn.liferay.com/dxp/latest/en/liferay-internals/fundamentals/configuring-dependencies/resolving-third-party-library-package-dependencies.html

如指南中所述,查看您是否找到了依赖项的新(osgi 兼容)版本。

如果没有,您将不得不使用 compileinclude。您将不得不找出您的应用服务器内存不足的原因。这里有一些事情要检查:

  1. 有没有内存泄漏?
  2. 是否有更多内存可供您的应用服务器保留?
  3. -xms 和 -xmx 的当前 JVM 配置是什么?
于 2021-08-17T16:10:32.097 回答