Java |图书馆的内部图书馆包装

时间:2013-03-30 06:51:33

标签: java ant build jar

我正在开发一个拥有它自己的库依赖项的库,我想要从中抽象出来。将项目导出到具有以下结构的jar后,我遇到了问题:

Foo.jar
    -> net
        -> foo
            -> java class files
    -> lib
        -> *.jar
    -> src
        -> foo
            -> java source files
    -> doc
        -> javadoc and other docs
    -> License.txt

当我去测试我的库时,我可以轻松地从net.foo.*导入我的库代码,但是因为“没有合适的驱动程序...”而其他依赖于内部库的运行时,我会抛出异常从我的抽象层调用。

我正在使用ANT来构建我的jar,但我不知道该怎么做。理想情况下,用户只需将我的jar添加到他们的构建路径,然后导入我的包。

1 个答案:

答案 0 :(得分:1)

您正在发送具有一组依赖项的库。库的用户可以选择添加依赖库。如果我理解正确,您希望通过包含依赖项jar是库jar的一部分来使用户变得简单。您可以使用JarJar将多个罐子合并到一个罐子里。

来自网站..

  

Jar Jar Links是一个实用程序,可以轻松地重新打包Java   库并将它们嵌入到您自己的发行版中。这很有用   有两个原因:

     

您可以轻松发送没有外部依赖项的单个jar文件。

     

您可以避免库依赖于库的特定版本的问题,这可能与另一个库的依赖项冲突。

如果这是关于可执行jar的重新打包,那么请查找One-Jar。在Easiest way to merge a release into one JAR file

中进行了讨论