首页 > 解决方案 > WSO2 服务器不以 pom.xml 中的导入包启动

问题描述

我已经为使用 wso2 的自定义身份验证创建了一个插件 jar。我必须使用从 nexus 存储库获得的外部 jar。然后在我的 pom.xml 我有这个

         <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                    <Private-Package>
                        org.wso2.carbon.identity.raiff.extension.auth.internal,
                    </Private-Package>
                    <Import-Package>
                        org.osgi.framework; version="${osgi.framework.imp.pkg.version.range}",
                        org.osgi.service.component; version="${osgi.service.component.imp.pkg.version.range}",
                        org.wso2.carbon.identity.base; version="${carbon.identity.framework.version.range}",
                        org.wso2.carbon.identity.core.*; version="${carbon.identity.framework.version.range}",
                        org.apache.commons.logging; version="${version.commons.logging}",
                        org.apache.commons.lang; version="${commons.lang.version}",
                        javax.servlet.http.*; version="${sevlet.api.version}",
                        javax.naming.ldap,
                        javax.naming.directory,
                        javax.security.auth.x500,
                        javax.naming,
                        org.apache.commons.codec.binary,
                        org.apache.xml.security.utils,
                        org.wso2.carbon.base,
                        org.wso2.carbon.user.core.*,
                        org.wso2.carbon.user.api,
                        org.wso2.carbon.core.util,
                        org.wso2.carbon.identity.application.authentication.framework.*;version="${carbon.identity.framework.version.range}",
                        org.wso2.carbon.identity.application.common.model;version="${carbon.identity.framework.version.range}",
                        com.hpes.aeon.repo.metadata.v1.0
                    </Import-Package>
                    <Export-Package>
                        !org.wso2.carbon.identity.raiff.extension.auth.internal,
                        org.wso2.carbon.identity.raiff.extension.auth.*,
                    </Export-Package>
                    <DynamicImport-Package>*</DynamicImport-Package>
                    <Embed-Dependency>
                        *;scope=compile|runtime;inline=false;artifactId=com.hpes.aeon.repo.metadata.v1.0
                    </Embed-Dependency>
                </instructions>
            </configuration>
        </plugin>

但是,当我进行 mvn clean install 并将 jar 复制到 ...\repository\components\dropins 并启动 wso2server.bat 时,它不会加载我的两个自定义身份验证器。

我确定它与 pom 有关,因为当我删除上面包含的外部 jar 时

    <dependency>
        <groupId>it.mygroup.xy</groupId>
        <artifactId>xyz</artifactId>
        <version>java8.20191209140725</version>
    </dependency>

以及 Import-Package 中的 com.hpes.aeon.repo.metadata.v1.0,它可以工作。我已经读过在 Embed-Dependency 中可以添加他自己的包,但它根本没有改变。

谢谢你。

标签: javamavenwso2

解决方案


推荐阅读