Maven:如何使用包含外部库来执行可运行的 jar (uber jar)

2024-02-13

到目前为止,我用 Ant 制作了可运行的 jar,并且没有任何问题。
然而,我现在尝试对我的项目进行mavenize,但我真的不知道如何使用这个工具来制作可运行的jar。
我读过大量的教程(也在这里,在 Stackoverflow 上)、帮助、建议,但……什么也没有。就我而言,它们都不起作用,这可能意味着我不了解一些基础知识。
我有这样简单的项目:

这是应用程序,使用 mysql-connector-java-5.1.24-bin.jar(放置在“lib”目录中)连接到 MySQL 数据库。
我想将此 jar 包含到最终 jar (DBPreformatter.jar) 中。 我在许多配置中使用了程序集和着色插件,但他们从未将此 jar 添加到 DBPreformatter.jar 中。

这是我的 pom.xml:

<modelVersion>4.0.0</modelVersion>
<groupId>com.icd4you</groupId>
<artifactId>DBPreformatter</artifactId>
<version>1.0.0</version>
<name>DBPreformatter</name>
<description>DB processing and cleaning tool</description>
<packaging>jar</packaging>
<dependencies>
    <dependency>
        <groupId>mysql-connector-java-5.1.24-bin</groupId>
        <artifactId>mysql-connector-java-5.1.24-bin</artifactId>
        <version>5.1.24</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/mysql-connector-java-5.1.24-bin.jar</systemPath>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>

        <!-- WHAT SHOULD I USE HERE? -->

    </plugins>
</build>

如何解决这个问题呢?


有一个maven插件Apache Maven 阴影插件 http://maven.apache.org/plugins/maven-shade-plugin/这将为你构建一个超级罐子

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

Maven:如何使用包含外部库来执行可运行的 jar (uber jar) 的相关文章

随机推荐

  • Haskell 中的短路 (&&)

    最近一直困扰我的一个快速问题 Haskell 是否在返回布尔值的函数中执行所有等价测试 即使返回一个假值 例如 f a b a b 2 a b 2 如果第一个测试返回 false 是否会执行第二个测试 或者 Haskell 是否足够懒 不做
  • 如何更改数据表中日期列的日期格式?

    我正在从数据库填充数据表 它包含两个字段 DATE TIME 两个字段都是datetime column 我想遍历数据表并更改日期格式DATE列即dd MM yyyy int i 0 string d foreach DataRow dr
  • 使用 mpatches.Patch 自定义图例

    我使用以下代码创建自定义 matplotlib 图例 import matplotlib patches as mpatches import matplotlib pyplot as plt colors g w texts Green
  • 对非 PHP 文件使用 Laravel @include 指令?

    我一直在寻找一种使用带有非 PHP 文件扩展名的 Laravels Blade 模板引擎 而不是file name blade php能够使用file name blade js or file name blade css 无济于事 我找
  • 1and1 域名、Heroku 托管 - 如何设置电子邮件?

    我刚刚从 1and1 购买了一个域名 并将 cname 设置为指向我在 heroku 上的应用程序 不过 我想要一个电子邮件 电子邮件受保护 cdn cgi l email protection 我需要通过 1and1 或 heroku 执
  • OCR 处理前的图像预处理

    我当前的项目涉及将 pdf 中的文本转录为文本文件 我首先尝试将图像文件直接放入 OCR 程序 tesseract 中 但效果不佳 原始图像文件基本上是旧报纸 并且有一些背景噪音 我确信 tesseract 存在问题 因此 我尝试在将图像输
  • Python 为什么是 10e26 != 10**26 ? (浮点不准确?)

    我试图在 python 中处理一些相当大的数字并遇到溢出错误 我决定进一步调查 发现了一个我无法解释的不平等现象 当我评估 10 26 时 我得到 gt gt gt 10 26 100000000000000000000000000 这是完
  • iOS:应用程序后台运行时隐藏屏幕上的敏感信息

    当前台应用程序进入后台时 例如按下主页按钮 如何更改最顶层视图控制器上的元素prioriOS 何时拍摄快照并开始动画以显示下一个屏幕 我问这个问题是因为我正在编写一个需要符合 HIPAA 要求的应用程序 并且我担心操作系统为执行此动画而拍摄
  • 通过淘汰赛在我的下拉列表中预选一个项目

    我有以下下拉菜单 div Dummy div
  • 将附件添加到 .NET 电子邮件

    如何附加名称非常不友好的文件 例如其中包含会话 ID 号的文件 但将其附加为其他名称 有问题的文件名中包含会话 ID 以避免 Web 服务器上的名称冲突 但当我将其附加到文件时 最好使用更友好的名称 有没有办法将不友好的名称附加为另一个名称
  • 您可以使用 Canvas 截取页面的“屏幕截图”吗?

    我有一个页面 我们使用 CSS 定位一堆元素 并使用 JS 更改它们的 顶部和左侧 位置 我收到的报告称这些事情已经错位 但用户有动机对此撒谎以 作弊 所以我不确定他们是否说的是实话 我试图找到一种方法来弄清楚他们是否在撒谎 并找到一些 证
  • 我可以信任 PHP __destruct() 方法被调用吗?

    在 PHP5 中 是否保证为每个对象实例调用 destruct 方法 程序中的异常可以防止这种情况发生吗 还值得一提的是 如果子类有自己的析构函数 则父类析构函数是not自动调用 你必须明确地调用父级 destruct 来自子类 destr
  • Numpy 数组与其他数组索引会产生广播错误

    我有两个索引数组 elim range 130 240 tlim range 0 610 要索引的数组 I 最初的形状为 299 3800 当我尝试按如下方式对其进行索引时 I elim tlim 我收到以下错误消息 形状不匹配 索引数组无
  • 将复合外键映射到复合主键,其中外键也是主键

    我想将 VM hostname datetime 和 name 属性设置为复合键磁盘类 同时VM hostname和datetime磁盘类应参考 VM hostname 和 datetime虚拟机类 即外键 我这样做了 但它给了我这个例外
  • iOS状态栏触摸返回App

    这让我很困惑 有人知道如何去做吗 蓝色发光状态栏如图所示 就像 Facebook 应用程序在启动 FB Messenger 时所做的那样 抱歉图片太大了 如果有人能指出我正确的方向 那就太好了 它看起来像是一个位于导航栏顶部的自定义视图 带
  • 如何使用单个按钮和单个操作方法显示/隐藏 UIPopoverController

    以下方法与导航栏按钮相关联 当按下该按钮时 会显示一个UIPopoverController IBAction showTablePopUp id sender if self tablesPopoverController nil Tab
  • 使用 Emacs 运行 $PAGER?

    UNIX 中有很多地方程序调用 PAGER 中的程序 通常less或一些类似的命令 来显示一些输出 确实 许多最常见的用途都有 Emacs 替代品 例如man 例如 但我仍然想要使用 Emacs 作为我的系统范围寻呼机的通用方法 理想情况下
  • 理解 MVC:模型上的“Fat”和控制器上的“Skinny”是什么概念?

    我试图理解模型上的 胖 与控制器上的 瘦 的概念 并且根据我一直在讨论的内容 我有以下示例 这取自 freenode 讨论 问 在 MVC 范式中 它说胖模型 瘦控制器 我在这里想 如果我有很多方法 在控制器上 只使用一些抽象方法来 CRU
  • 在 iOS 6.x (iPad) 上使用 JS 选择/取消选择下拉选项

    我正在使用 html 创建动态下拉列表
  • Maven:如何使用包含外部库来执行可运行的 jar (uber jar)

    到目前为止 我用 Ant 制作了可运行的 jar 并且没有任何问题 然而 我现在尝试对我的项目进行mavenize 但我真的不知道如何使用这个工具来制作可运行的jar 我读过大量的教程 也在这里 在 Stackoverflow 上 帮助 建