Java 需要帮助将第三方包装成捆绑包吗
我需要在代码中使用这两个包:Java 需要帮助将第三方包装成捆绑包吗,java,maven,osgi,bundle,Java,Maven,Osgi,Bundle,我需要在代码中使用这两个包: import org.apache.commons.validator.routines.DomainValidator; import org.apache.commons.validator.routines.InetAddressValidator; 所以我需要获取ApacheCommonsValidator 1.4.0并将其打包 为此,我创建了一个新的maven项目,只包含一个POM文件,其中POM包含以下内容: 但是,当我编译这个项目时,生成的包清单将
import org.apache.commons.validator.routines.DomainValidator;
import org.apache.commons.validator.routines.InetAddressValidator;
所以我需要获取ApacheCommonsValidator 1.4.0并将其打包
为此,我创建了一个新的maven项目,只包含一个POM文件,其中POM包含以下内容:
但是,当我编译这个项目时,生成的包清单将开始导入新内容。在此处检查生成的MANIFEST.MF的导入包标记:
我希望它什么也不进口,而且是自给自足的。在使用OSGi时,我讨厌这些东西,包括第三方依赖关系非常困难:
如何使此捆绑包自包含?Commons validator似乎已经是一个捆绑包了。
除此之外,还有一个。如果您在某个时候需要它,它可以帮助您自己进行包装。Commons validator似乎已经是一个捆绑包了。
除此之外,还有一个。如果您在某个时候需要,可以帮助您进行自己的包装。您唯一需要的是将此捆绑包作为maven依赖项添加到项目的pom文件中,以下是来自的依赖项片段: 另外,如果您有自己的工件库,我建议您从下载依赖项的jar,并将其添加到工件库中,例如Nexus或其他。然后将SpringSource企业包存储库添加到您的工件存储库代理存储库中 快速常见问题解答 一,。但是我可以使用commons.validator 1.4.0吗 不,您不能,apache.commons.validator当前可用的重新打包版本是1.3.1版 二,。如果我真的想使用1.4.0版,是否有解决办法
也许吧!你可以试试你的运气重新包装,这似乎是一个很好的方式来实现这一点。链接页面上的帖子似乎试图创建一个包来包装您的apache.commons.validator-1.4.0.jar。您唯一需要的是将此包作为maven依赖项添加到项目的pom文件中,下面是来自: 另外,如果您有自己的工件库,我建议您从下载依赖项的jar,并将其添加到工件库中,例如Nexus或其他。然后将SpringSource企业包存储库添加到您的工件存储库代理存储库中 快速常见问题解答 一,。但是我可以使用commons.validator 1.4.0吗 不,您不能,apache.commons.validator当前可用的重新打包版本是1.3.1版 二,。如果我真的想使用1.4.0版,是否有解决办法
也许吧!你可以试试你的运气重新包装,这似乎是一个很好的方式来实现这一点。链接页面上的帖子似乎试图创建一个包来包装您的apache.commons.validator-1.4.0.jar。只需将其添加到指令标记中,您就可以控制结果清单中导入或不导入的内容:
<Import-Package>!DontWantThisPackage</Import-Package>
顺便说一句,一些commons验证器依赖项已经是捆绑包了,所以将其嵌入捆绑包是没有意义的
为了嵌入依赖项,我建议您直接将它们添加到捆绑包依赖项中,而不是使用可传递的依赖项您可以控制在结果清单中导入或不导入什么,只需将其添加到指令标记中:
<Import-Package>!DontWantThisPackage</Import-Package>
顺便说一句,一些commons验证器依赖项已经是捆绑包了,所以将其嵌入捆绑包是没有意义的
为了嵌入依赖项,我建议您直接将它们添加到bundle依赖项中,而不是使用可传递的依赖项问题是,jar需要是OSGi fyed=jar+OSGi元数据,它可以重新打包。根据ApacheCommonsWiki,有这样的重新打包OSGi包,但直到版本1.3.1。SpringSource存储库似乎有可用的版本。是的,我需要的版本是1.4.0。我以前试过1.3.1,但他们错过了我使用的课程。然而,他们的源代码非常有趣,他们被迫引用直接依赖项,但他们管理可传递依赖项的方式对我来说是一种新奇的方式,我需要仔细研究一下。问题是,jar需要是OSGi fyed=jar+OSGi元数据,它包含重新打包。根据ApacheCommonsWiki,有这样的重新打包OSGi包,但直到版本1.3.1。SpringSource存储库似乎有可用的版本。是的,我需要的版本是1.4.0。我以前试过1.3.1,但他们错过了我使用的课程。然而,他们的源代码非常有趣,他们被迫引用直接依赖项,但他们管理可传递依赖项的方式对我来说是一种新奇的方式,我需要仔细研究一下。是的,我真的需要1.4.0。我试试第谷。是的,我真的需要1.4.0。我试试第谷。