将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库包含到自己的库中 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 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