将java库包含到自己的库中

2024-03-17

我为自己创建了一个小框架,我想在多个项目中使用它。我还希望分布式 jar 文件包含所有外部库,以便我的项目只需要包含我的库即可访问所有外部库。

我需要这个来简化外部库的更新。

所以我把它放在我的 build.xml 中,它将 dist/lib 中的所有库添加到我自己的 jar 文件中。

<target name="-post-jar">  
    <!-- Include all java libraries -->
    <fileset dir="dist/lib" id="extern.libs">
        <include name="*.jar" />
    </fileset>

    <!-- Add the libraries from the fileset to the project.jar -->
    <jar jarfile="${dist.jar}" update="true">  
        <zipgroupfileset refid="extern.libs"/>
    </jar>  
</target>  

但是当我尝试使用“org.zkoss.zk.ui.Component”等外部库时,我收到错误消息,无法找到该库。

有没有更好的方法将外部库包含到我自己的库中,以便我的项目可以使用它们?


您可以发布一个Maven http://maven.apache.org工件,您的框架的用户可以使用它,而不必自己包含依赖项——您的 pom 就足够了。

如果您想创建一个“一体化”工件,请考虑类似OneJar http://one-jar.sourceforge.net/ or jarjar http://code.google.com/p/jarjar/或 Maven 的阴影插件 http://maven.apache.org/plugins/maven-shade-plugin/创建一个没有外部依赖项的 jar。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将java库包含到自己的库中 的相关文章

随机推荐

  • Spring @Transactional 服务。如果它调用另一个@Transactional Service 会发生什么?

    使用 Spring 我达到了以下场景 我有一项必须的服务 Transactional因为它调用了多个 DAO 但它也调用其他已经存在的服务 Transactional 不知何故 我会调用嵌套 Transactional服务 Spring会管
  • 指定的演员无效..如何解决此问题

    我有以下功能 public object Convert object value string retVal string Empty int oneMillion 1000000 retVal double value oneMilli
  • 共享邮箱上的 MailItem.GetConversation()

    我正在使用以下代码来显示对话中原始电子邮件的属性 void DemoConversation object selectedItem Application ActiveExplorer Selection 1 For this examp
  • 函数调用时找不到标识符错误

    我这里有一个程序 可以反转输入字符串的大小写 这是我的 cpp 文件中的代码 我使用的是 Visual Studio C IDE 我不确定头文件中需要什么 或者是否需要一个头文件才能完成这项工作 我的函数调用 swapCase 出错 由于某
  • Web API 2 中的版本控制

    有一个关于 Web Api 2 0 版本控制的快速问题 我开发了一个完全 RESTful API 但是我有 2 个同名的控制器 我已根据单独的文件夹将它们放入不同的命名空间中 例如 v1 和 v2 文件夹 我还使用正常的 Namespace
  • 如何将字典列表合并为单个字典?

    我怎样才能把字典列表变成这样 a 1 b 2 c 1 d 2 变成一个像这样的字典 a 1 b 2 c 1 d 2 Answers here will overwrite keys that match between two of the
  • 在多对多连接的位置进行序列化

    我希望有人能帮助我 我正在使用 Express js 的 Sequelize ORM 并且在 2 个表之间建立了有效的多对多关系 为了简化我的查询 让我们假装我的表是 Users Books 和 UserBooks 其中 UserBooks
  • 基于Cloud pub/sub队列自动扩展GCE实例组

    GCE 实例组可以根据 Google Cloud PubSub 队列计数或其他异步任务队列 例如 PSQ 扩大 缩小规模吗 Yes 该功能现在处于 alpha 阶段 https cloud google com compute docs a
  • 在块内循环以错误的顺序附加到数组 - Swift 2.0

    我从 Parse 下载了一个 PFFile 数组 我试图将它们转换为 NSData imageDataArray 数组 以便将它们保存到 Core Data 中 我现在遇到的唯一问题是 imageDataArray 的元素添加顺序错误 这意
  • Haskell 堆栈与全局 ghc

    是否可以使用stack已经安装了ghc没有stack安装本地副本ghc or cabal 是的 如果ghc in PATH是所选快照的正确版本 stack会很高兴地使用它 ghc version The Glorious Glasgow H
  • 用于验证管道分隔项目数量的正则表达式

    我有一个字符串 它是管道 划定的 我需要一个正则表达式来根据管道字符验证项目数量 因此 正则表达式将执行以下操作 如果最大项目数为三 asdfasdf asdfasdf asdfasdf 有效 asdfasdf asdfasdf asdfa
  • 如何让wxpython密码textctrl显示字符?

    使用 wxPython 可以将密码字段创建为 wx TextCtrl frm 1 style wx TE PASSWORD 我想知道是否有一种方法可以动态地将这个密码字段更改为普通的文本控件 以便用户可以看到密码是什么 创建控件后无法更改样
  • 在 ScrollView 中使用 RecyclerView 并具有灵活的 Recycler 项目高度

    我想知道是否有任何可能的方法可以使用回收视图 在此之前 我使用 RecyclerView固定高度里面一个滚动视图但这次我不知道该物品的高度 Hint 在问这个问题之前 我阅读了堆栈问题上的所有问题和解决方案 update 一些解决方案展示了
  • 使用 Mercurial,如何记录具有跨分支祖先的分支?

    在 Mercurial 中 我想构建所有提交消息的更改日志以进行修订stable分支 目前 我正在使用 hg log r
  • 使用 v4l2loopback 和 EDSDK Liveview 进行佳能 DSLR 视频环回?

    我想使用 DSLR 相机作为视频输入 例如在 Linux 和 Android 下进行 Skype Google talk 是否可以使用 v4l2loopback 和 Canon EDSDK 创建视频环回 如何将实时取景缓冲区从摄像机传输到视
  • 为什么 DataContractSerializer 不支持属性?

    我根据客户的文档创建 xsd 并且所有 xsd 都有属性 我一直在使用 xsd exe 从 xsd 生成类 但我读到 DataContractSerializer 不支持属性 为什么不 这是否意味着我只能有一个只有元素的soap xml 文
  • 关于 TypeScript 的 noUnusedParameters 编译器选项的说明

    在 GitHub 上输入任何内容之前 我试图确定这实际上是否是一个错误 With noUnusedParameters启用后 TypeScript 编译器会出现如下错误 const foo one two three foo forEach
  • 生日显示为去年的年龄?

    我正在测试一个我想在其中使用它的网站的 JavaScript 片段 基本上 当页面加载我的年龄时执行的函数 我是在规定的出生日期之外做这件事的 我在使用birthDate变量时注意到一个错误 不确定为什么会发生 当birthDate月份比当
  • Doctrine ORM 内存问题

    问题 运行使用下面 Factory 类中的 Doctrine 的守护程序服务时 会出现内存问题 当守护进程服务启动时 它运行大约 175MB 一天后大约是 250MB 再过一天就达到 400MB 我正在寻找导致内存增加的原因以及如何降低内存
  • 将java库包含到自己的库中

    我为自己创建了一个小框架 我想在多个项目中使用它 我还希望分布式 jar 文件包含所有外部库 以便我的项目只需要包含我的库即可访问所有外部库 我需要这个来简化外部库的更新 所以我把它放在我的 build xml 中 它将 dist lib