无法在OSGi中解析LDAP库的Maven依赖项
我想进口无法在OSGi中解析LDAP库的Maven依赖项,maven,ldap,osgi,aem,maven-dependency-plugin,Maven,Ldap,Osgi,Aem,Maven Dependency Plugin,我想进口 import org.apache.commons.pool2.impl.GenericObjectPool; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import org.apache.directory.ldap.client.api.DefaultLdapConnectionFactory; import org.apache.directory.ldap.client.api.LdapConne
import org.apache.commons.pool2.impl.GenericObjectPool;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.apache.directory.ldap.client.api.DefaultLdapConnectionFactory;
import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.ldap.client.api.LdapConnectionConfig;
import org.apache.directory.ldap.client.api.LdapConnectionPool;
import org.apache.directory.ldap.client.api.ValidatingPoolableLdapConnectionFactory;
import org.apache.directory.ldap.client.template.LdapConnectionTemplate;
和使用
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-ldap-client-api</artifactId>
<version>2.0.0.AM4</version>
</dependency>
更新的问题-
“如何解决这些依赖关系?哪个ldap依赖关系/库?”
可以在OSGi中使用吗?”
目标-我正在尝试连接LDAP
LdapConnection connection = new LdapNetworkConnection( "localhost", 10389 );
参考-您必须区分构建时依赖项和运行时依赖项。在Maven中定义构建时依赖项。默认情况下,它们与AEM(运行时依赖项)中安装的捆绑包无关 为了说明这一点: Maven中定义的依赖项不会自动安装到AEM中 有几个选项可以选择如何将所需的运行时依赖项部署到AEM:
/system/console/bundles
)org.apache.directory.api:api ldap客户端api:2.0.0.AM4
)Install
目录安装捆绑包:crx quickstart/Install
它们各有优缺点。我通常选择选项3。我在这里写了一个很长的答案来解释这一点:您必须区分构建时依赖项和运行时依赖项。在Maven中定义构建时依赖项。默认情况下,它们与AEM(运行时依赖项)中安装的捆绑包无关 为了说明这一点: Maven中定义的依赖项不会自动安装到AEM中 有几个选项可以选择如何将所需的运行时依赖项部署到AEM:
/system/console/bundles
)org.apache.directory.api:api ldap客户端api:2.0.0.AM4
)Install
目录安装捆绑包:crx quickstart/Install
它们各有优缺点。我通常选择选项3。我在这里写了一个很长的答案来解释这一点:如果您不需要它们,您可以在本节中排除它们,方法如下:
<configuration>
<instructions>
<Import-Package>
!org.apache.commons.pool2,
!org.apache.commons.pool2,
依此类推。如果您不需要它们,可以在本节中排除它们,方法如下:
<configuration>
<instructions>
<Import-Package>
!org.apache.commons.pool2,
!org.apache.commons.pool2,
等等。理解了一个事实,即每个maven依赖项都不会自动安装在OSGi中。但是
org.apache.directory.api:api ldap客户端api:2.0.0.AM4
在手动安装时由于未解决依赖项而不处于活动状态。如果您阅读了我链接的答案,那么您是否可以在OSGi
中使用任何依赖项,无论是手动部署还是使用maven build@AbhishekSinha,我解释了如何构建包含缺少的依赖项的LDAP库包。了解每个maven依赖项都无法安装的事实在OSGi中自动运行。但是由于未解析的依赖关系,手动安装时,AM4不会处于活动状态。在OSGi
中是否有任何依赖项可用于手动部署或与maven build一起部署@AbhishekSinha如果您阅读了我链接的答案,我解释了如何构建包含缺少的依赖项的LDAP库包。它们是必需的。无法排除它们。在这种情况下,try with:Export package用于定义当前捆绑包的包,当作为依赖项添加时,这些包可能可供其他捆绑包使用。这些包是必需的。无法排除它们。在这种情况下,try with:Export package用于定义当前捆绑包的包,当添加为依赖项时,该包可供其他捆绑包使用。您需要从依赖项中创建一个依赖项OSGI捆绑包(jar)并上传到AEM sling控制台。您可以在线找到从jar转换OSGI捆绑包的信息。您需要从依赖项中创建一个依赖项OSGI捆绑包(jar),并上传到AEM sling控制台。您可以在线找到从jar转换OSGI包的信息。
<configuration>
<instructions>
<Import-Package>
!org.apache.commons.pool2,