从单个 Maven 项目创建多个可运行的 Jars(包含依赖项)[重复]

2024-05-12

我有一个 Maven 项目,它有多个主类。我想从这些项目中生成可运行的 Jars(包括所有依赖项)。我目前有以下构建配置(使用 maven.assemble):

<build>
<plugins>
    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <mainClass>classpath.to.my.mainClass</mainClass>
                </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
    </plugin>
</plugins>
</build>

他们是通过 Maven 组装来实现这一目标的方法吗?如果没有,实现我的目标的最简单方法是什么?


你能行的。您需要为正在构建的每个工件单独执行(即,为每个工件提供自己的 id,但您可以将阶段保留为默认值),并且您需要指定 FinalName 和 archive/manifest/mainClassfor each.

<build>
<plugins>
    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>build-a</id>
            <configuration>
              <archive>
                <manifest>
                  <mainClass>foobar.Aclass</mainClass>
                </manifest>
              </archive>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <finalName>foobar_a.jar</finalName>
            </configuration>
          </execution>
          <execution>
            <id>build-b</id>
            <configuration>
              <archive>
                <manifest>
                  <mainClass>foobar.Bclass</mainClass>
                </manifest>
              </archive>
              <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
              </descriptorRefs>
              <finalName>foobar_b.jar</finalName>
            </configuration>
          </execution>
        </executions>
    </plugin>
</plugins>
</build>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从单个 Maven 项目创建多个可运行的 Jars(包含依赖项)[重复] 的相关文章

  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • Android 中的列表(特别是 RecyclerView 和 CardView)如何工作

    请原谅我问这个问题 但我是 Android 开发新手 尽管我正在尝试了解developer android com 网站上的基础知识 但大多数示例 即使他们说它们是为 Android Studio 构建的 尚未设置为使用 Gradle 因此
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • 如何在 Openfire 中使用 smack

    你好 我计划开发一个可以连接到 gtalk facebook 等的聊天客户端 我决定将 smack API 与 openfire 一起使用 但我需要很少的指导来了解如何将它与 openfire 服务器一起使用 openfire 是否提供了基
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • Spring数据中的本机查询连接

    我有课 Entity public class User Id Long id String name ManyToMany List
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 虽然我的类已加载,但 Class.forName 抛出 ClassNotFoundException

    代码如下 它的作用是加载我放在主目录中的 jar 文件中的所有类 import java io File import java util jar JarFile import java util jar JarEntry import j
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向

随机推荐

  • Spring IO 这个名字是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 2013 年秋季 Spring 推出了新网站 spring io http spring io 并宣布了其新平台 弹簧IO http sp
  • Tess4j 问题 java.lang.UnsatisfiedLinkError

    我正在尝试解决 Tess4J 安装问题 1 我在 WEB INF win32 x86 中创建了一个文件夹2 我把 libtesseract302 dll 和 liblept168 dll 放在那里 然后将其添加到 java 构建路径中的源
  • 如何在iPhone中制作UIButton垂直滑块菜单

    在我的应用程序中 我想制作带有滚动视图的 UIButton 滑块 其中当我们滚动按钮的 uiscrollview 时 按钮将位于中心 请参阅这些应用程序的第一个屏幕 sothttp itunes apple com au app id422
  • 从不同的插件执行现有插件的命令/处理程序

    我有一个 RCP 应用程序 其中包含现有命令和处理程序 可以通过编程方式切换视角 我还有现有 RCP 应用程序使用的新插件 我希望这个新插件执行我的 RCP 应用程序的命令 处理程序 可能的解决方案是什么 您可能需要为该命令定义一个处理程序
  • 如何通过编码来点击按钮?

    我的程序中有两个按钮 我希望当我按下第一个按钮时 会自动单击第二个按钮 在第一个按钮的事件处理程序中 我想通过编码按下第二个按钮 private void button1 Click object sender EventArgs e pa
  • Android x86_64 和 x86 模拟器在 AlertDialog.onClick 事件上崩溃

    我正在 x86 64 和 x86 模拟器中测试 Android 应用程序 在从显示列表的 AlertDialog 中选择一个项目后 它崩溃了 Android 模拟器意外关闭 AlertDialog 是从 AppCompatActivity
  • 异步protobuf序列化

    protobuf net 实现的一个限制是它同步调用底层流 通过不提供异步 API 例如BeginSerialize EndSerialize 或 TPL 等效项 我们被迫占用一个等待同步流 I O 的线程 是否有计划在 protobuf
  • 我无法在剃刀视图中设置断点

    我知道可以在 MVC Razor 视图中设置断点 但出了点问题 它不再工作了 我尝试重新启动 Visual Studio 2013 并更改调试的一些选项 你有什么建议吗 感谢弗拉基米尔 我能找到解决方案 我必须清理并重建整个解决方案 我之前
  • 如何在azure上托管和部署ASP.Net core 2.0 web api?

    我在 Visual Studio 2017 中创建了一个解决方案 其中创建了以下项目 客户端 使用核心 2 1 的 Angular 模板 服务器 使用 core 2 0 的 web api 因为我是在天蓝色上部署我的应用程序的新手 因此 通
  • Magento 一页结帐 - 出现 TypeError: checkout undefined (在 opcheckout.js 中)

    大约一周前 一页结帐工作正常 但现在不行了 毫无疑问我有错 因为我仍然遇到与管理后端相关的问题 并且我可能在处理该问题的过程中以某种方式搞砸了 无论如何 当 登录 注册 用户单击一页结账的帐单信息步骤中的 继续 按钮时 会发生什么情况 就好
  • 用于大括号突出显示的背景和前景色

    当前的功能只是勾勒出很难看到的匹配支架的轮廓 我如何更改前景色和背景色 以便匹配的大括号出现在实心块上 阿普塔纳工作室 3 这是 Aptana 从 Eclipse 继承的东西 它被硬编码为在匹配对字符周围绘制一个矩形 因此 不幸的是 这不是
  • 快速求解子集和

    考虑这种解决子集和问题的方法 def subset summing to zero activities subsets 0 for activity cost in activities iteritems old subsets sub
  • CC2538 的 Contiki UDP 数据包传输持续时间

    有人可以解释一下 Contiki OS 传输 UDP 数据包时发生了什么吗 以下是我的设备使用 CC2538 芯片运行时的详细电流消耗 我的问题是 既然理论上在 250kbps 下 408 位长度的数据包应该在大约 2ms 内传输 为什么要
  • 以 png 格式剪辑幻灯片 (Delphi 2010)

    I have a filmstrip of images in png format like this 我想知道如何剪辑每个图像并将这些图像放入 TImageList 控件中 并始终保留透明度 EDIT 是的 在设计时 RRUZ 提到的技
  • ActiveSupport::TimeWithZone#to_date 返回错误日期

    我想要以下实例的日期部分ActiveSupport TimeWithZone 我用了to date函数 但它返回前一天的日期 例如 如果日期时间是2012 04 11 09 05 00 UTC 如果我打电话to date然后它返回2012
  • 为什么 pyglet 比 pygame 慢?

    这是代码 5000 个弹跳旋转的红色方块 16x16 png 在 pygame 版本上 我得到 30 fps 但使用 pyglet 得到 10 fps 对于这种事情 OpenGl 不是应该更快吗 pygame版本 import pygame
  • SVG 捕获鼠标坐标

    我知道之前已经有人问过有关 svg 鼠标坐标的问题 但我对我当前遇到的行为感到非常困惑 而且似乎没有一个线程能够解决它 我用于捕获坐标的方法 var pt svg createSVGPoint Created once for docume
  • 如果是 PrintWriter,为什么我应该在循环中刷新而不是在循环之后刷新?

    我的小演示程序中有一个服务器和客户端 我将一些字符串数据从客户端发送到服务器 然后为客户端重新发送这些数据 客户端也将其写入控制台 我对 PrtintWriter 的刷新方法感到困惑 根据 JAVA 文档 该方法刷新流 经过一些研究 我逐渐
  • 如何对 WebAPI 进行无人值守的 oauth/openid 身份验证?

    想象一下在 Windows Azure 中注册的客户端和服务应用程序 客户端是一个控制台 在无人值守的情况下运行 例如过夜执行测试 该服务是受 oAuth 保护的 WebAPI 服务 通常使用托管在 Azure 中的 OpenID Conn
  • 从单个 Maven 项目创建多个可运行的 Jars(包含依赖项)[重复]

    这个问题在这里已经有答案了 我有一个 Maven 项目 它有多个主类 我想从这些项目中生成可运行的 Jars 包括所有依赖项 我目前有以下构建配置 使用 maven assemble