Maven 类路径顺序问题

2023-11-29

有谁知道在 Maven2 中设置特定类路径顺序的方法,而不是我目前遇到的随机顺序?

想要这样做有很多合理的理由:

  • 供应商提供了一个补丁 jar,其中包含先前发布的 jar 的重写类,因此该补丁 jar 必须出现在类路径排序中的第一个位置。
  • 通过遍历 pom 依赖关系发现的类路径上发现的两个 jar 在同一包中包含具有不同签名的相同类。例如:

老板 jbossall 客户端 4.2.0.GA

组织休眠 休眠 3.1

两者都包含: org.hibernate.util.ReflectHelper.class,但是jbossall-client版本缺少getFastClass方法。

通过谷歌搜索,我发现这可能是 Maven 爱好者和面临这个特定问题的人们之间的争论点,但肯定有类路径排序的合理理由。

任何解决了这个特殊困境的人的任何建议将不胜感激!

Thanks


从版本 2.0.9 开始,maven 使用 pom 顺序作为类路径,因此您现在可以实际操作它。我们主要抑制对我们也直接包含的外部库的传递依赖。

来自maven 2.0.9的发行说明:

MNG-1412 / MNG-3111 引入了类路径上依赖项的确定性排序。过去,使用自然集合排序会导致奇怪的结果。现在,您的 pom 中保留了顺序,并通过最后添加的继承添加了依赖项。在具有冲突或重复依赖项的构建中,这可能会导致输出发生变化。简而言之,如果您在 2.0.9 中遇到奇怪的问题,请查看依赖项,看看是否在某个地方存在冲突。

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

Maven 类路径顺序问题 的相关文章

  • 冬眠混乱。 GA、GA 和最终版本之间有什么区别?兼容性?存储库?

    谁能解释一下 1 ga GA 和 Hibernate 最终版本之间的区别 2 我应该使用maven存储库还是jboss nexus存储库 3 为什么最新的兼容性矩阵 http community jboss org wiki Hiberna
  • Maven依赖冲突

    在我的项目中 有2个库 每个库都依赖于XML解析类java xml parsers DocumentBuilderFactory 这些库中的每一个都引用来自不同 jar 的文件 一个从名为 xmlParserAPIs 的 jar 获取它 而
  • 如何像普通命令行程序一样从 shell 运行 sbt 主类?

    如何从 shell 运行 sbt 应用程序 以便我可以将我的应用程序作为普通的命令行程序运行 就像直接通过scala但不必设置巨大的类路径 我知道我能做到 echo hello sbt run main com foo MyMain3 ar
  • Maven编译失败(但Eclipse下编译成功)

    在构建我的网络项目时Eclipse 一切安好 没有错误 没有警告 然而 在构建项目时Maven it failes 下面是输出形式mvn compile c Users jwa Desktop tets traffic web gt mvn
  • pom.xml中的artifactId和groupId有什么区别?

    您如何用一些现实世界的组织示例 例如 Facebook 公司或 Google 公司 向新手 Web 开发人员或程序员解释它 来自 maven apache org 命名约定 https maven apache org guides min
  • Java 类路径和相对路径

    如果java类路径中有相对路径 那么这是否只是搜索当前工作目录 对于清单文件中声明的类路径也是如此 在清单文件中 它是相对于 jar 所在的目录吗 前任 命令行 java cp somejar jar Or Manifest Class P
  • 如何在maven中使用不同的JAR进行编译和测试?

    我根据 javaee api 编译我的程序 但对于 Junit 测试 我必须使用 glassfish javaee jar 等特定实现来避免类似错误java lang ClassFormatError 类文件 javax persisten
  • 无法在项目上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test)。

    几天来我一直在尝试解决以下错误 但无法解决 我的模块的 pom xml 文件是
  • Java 类查找工具

    任何经常使用 Java 的人都知道类路径中的多个 jar 会给我们带来多少麻烦 我正在寻找一个可以帮助我的工具 在 jar 中搜索类文件类路径 在 jar 中搜索类文件具体位置 也许要求太多 但请告诉我同一个类是否存在于多个罐子中 不用说它
  • Tomcat 6 未从 WEB-INF/lib 加载 jar

    我正在尝试找出我的 tomcat 环境中的配置问题 我们的生产服务器正在运行 tomcat 安装并从共享 NFS 挂载读取战争 然而 当我尝试使用独立的盒子 及其配置 进行同样的战争时 我收到下面发布的错误 有趣的是 如果我将 WEB IN
  • 调试 Maven 的“工件没有有效范围”

    我们在工作中经常使用 Maven 我们会收到错误消息 工件没有有效范围 经过很长时间的谷歌搜索和实验 我意识到这个错误消息的含义 工件does有有效范围 只是太多了 例如 我的主 POM 仅依赖于 superframework v 1 0
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • SBT Scaladoc 配置

    我正在尝试在 SBT 中配置 Scaladoc 特别是标题 输出目录和类路径 我通过将以下内容添加到 build sbt 来定义标题 scalacOptions in Compile doc Opts doc title Scala Too
  • 如何使用类路径位置

    为了解决这个问题 我到处寻找 但找不到解决方案 问题如下 我在 Tomcat 7 服务器上构建了一个 Spring mvc web 应用程序 准确地说是 7 0 12 并且我在获取
  • Maven 快速入门指南 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的任务是为工作中的新程序设置开发环境 领导者选择 Eclipse 作为其 OSGi 支持的 IDE 并选择 Maven 作为构建实用程序
  • 有没有免费的在线 Maven 存储库?

    有没有免费的在线私人maven2或maven3存储库 这样该团队就可以从各个区域访问存储库 如果您使用 github 则可以使用私有 github 项目作为您的 Maven 存储库 这里有关于如何将 Maven 工件发布到 github 的
  • 如何将 jar 放入 mvnrepository.com 中?

    我创建了一个小型开源 Java 库LinkSet http code google com p linkset 我想将其放入 mvnrepository com 中 怎么做 该网站上没有类似 上传 登录 登录 的链接 将工件上传到中央存储库
  • 运行包含库 jar 的 jar 时出现 Java NoClassDefFoundError

    几个小时后 即使在阅读了大量文档和问题之后 我还是束手无策 我确信我错过了一些明显的东西 但我就是无法弄清楚 我创建了许多 java 文件 包括带有 main 方法的单个入口点 该类还使用一个 库 类 该类位于 jar 文件 mylib j
  • 如何调试使用maven构建的android应用程序

    我目前正在尝试从 Eclipse 调试我的设备上的 Android 应用程序 设备已添加 我可以在控制台和 Eclipse 中看到它 控制台 Windows adb devices List of devices attached 0019

随机推荐

  • 将 Java Applet 嵌入到 .html 文件中

    我在将小程序嵌入网页时遇到问题 我认为我做得不对 我的 html 文件与 class 文件位于同一目录中 我的主要方法在 CardApp 类中 这是我的html代码 让小程序在多种浏览器上运行是非常困难的 早期标签没有得到适当的标准化 因此
  • 要设置哪些管理员角色设置才能访问该域的 Google Classroom API?

    我们正在尝试创建一个单独的管理员角色来分配给用户 以便能够调用 Google Classroom API 域 如果我们将它们设置为 超级管理员 它可以工作 但我们不想授予这些用户超级管理员权限 有人知道任何指南或设置吗 Answer 除此以
  • 如何防止直接访问 Azure 应用服务中托管的 API

    我有一个托管在 Azure 应用服务中的后端 API 我想使用 Azure API 管理作为此后端 API 的前端 并已在 Azure 中成功配置它 我已将 API 管理配置为在访问此后端 API 时使用 OAuth 这在客户端通过 Azu
  • 如何使用 Mockito 在 java 中模拟 new Date()

    我有一个使用当前时间进行一些计算的函数 我想用mockito来模拟它 我想测试的类的一个例子 public class ClassToTest public long getDoubleTime return new Date getTim
  • 是否有 Java 库可以访问本机 Windows API?

    是否有 Java 库可以访问本机 Windows API 使用 COM 或 JNI 你可以尝试这两个 我已经看到这两个都成功了 http jawinproject sourceforge net Java Win32 集成项目 Jawin
  • phpunit dbunit @dataProvider 不起作用

    我花了很多时间寻找问题出在哪里 但我没有找到任何东西 它说 testAdd 导致错误 缺少参数 当我运行测试时 只是没有执行 dataProvider 我尝试将 die 放入 dataProvider 中 但它还没有死 这是我的代码 cla
  • 为什么nslookup.exe可以解析指定的DNS服务器,但dnsapi.dll中没有相应的API?

    nslookup exe www google com 127 0 0 1 该命令可以使用 DNS 服务器 127 0 0 1 进行解析 不可能在 75 0 KB 的 nslookup exe 中实现全栈 DNS 协议解析器 因此它必须使用
  • 当自动化 Eclipse 的“导出为功能”时,Maven/Tycho 看不到我的插件

    我的工作区中有一个插件和一个功能项目 当我通过 文件 gt 导出为 gt 功能 手动导出功能时 一切正常 我正在尝试编写一个自动插件构建和导出脚本来摆脱这种苦差事 我将功能项目转换为 Maven 项目 并用以下内容填充 pom xml
  • 如何使用多个命令运行 NSTask

    我正在尝试让 NSTask 运行如下命令 ps clx grep 查找器 awk 打印 2 这是我的方法 void processByName NSString name NSTask task1 NSTask alloc init NSP
  • Angular:添加指令时控制器未定义

    向我的网站添加指令时出现以下错误 Error ng areq Argument MainController is not a function got undefined 仅当我在网站中包含welcome directive welcom
  • PouchDB + 冲突解决

    我有一个关于难题的非常简单的问题 PouchDB 中的冲突解决如何工作 我查看了文档 并快速谷歌搜索 但没有帮助 那么 如何在使用 PouchDB 的应用程序中处理冲突管理 以下是在 CouchDB 中的操作方法 您可以直接将其转换为 Po
  • Spring Boot - 从属性文件注入映射[重复]

    这个问题在这里已经有答案了 属性文件如下所示 url1 path to binary1 url2 path to binary2 根据this我尝试了以下方法 Component EnableConfigurationProperties
  • 如何更改 WooCommerce 缩略图裁剪位置?

    我正在尝试更改 WooCommerce 缩略图裁剪位置 我发现这段代码可以帮助更改大小 add action init yourtheme woocommerce image dimensions 1 Define image sizes
  • 在 iFrame 中应用 CSS

    我正在尝试将广告图像的宽度从像素更改为百分比 我正在使用 Google DoubleClick 或 DFP 它会自动将您的广告图像放入 iframe 中 从而很难更改图像的实际尺寸 因此 我将图像宽度从像素更改为百分比的方法是 我在图像广告
  • 在 vhdl 中计算(并验证)以太网 FCS (crc32)

    我正在使用Spartan 3E 入门套件我正在尝试通过 100MBit 链路接收以太网帧 对于那些不知道的人 该板具有 PHY 芯片 暴露了 25MHz 的接收时钟 我 几乎 已经通过缓冲接收到的帧并通过串行链路重新发送它们来验证接收工作正
  • 如何从master上找到jenkins节点的ip地址

    从主节点脚本控制台或从系统 groovy 脚本 也在主节点上运行 运行 如何获取从节点的 IP 地址 我希望这个简单的脚本就足够了 import java net for slave in Jenkins instance slaves h
  • 列表追加正在覆盖我以前的值[重复]

    这个问题在这里已经有答案了 我正在尝试动态构建 ElasticSearch 的查询 这是我的代码 import json query string person human query query query query query boo
  • 如何允许用户在 ChicagoBoss 中下载文件

    我生成一个 xml 并将其存储到某个位置 比如myproject media doc xml因为我是 erlang 的新手开发人员 我所知道的是我必须设置请求标头 例如 Content Disposition attachment file
  • 如何从 Postman/WebSocket King 调用 SignalR Core hub 方法

    我有一个 SignalR Core 集线器 我可以使用 Postman 或 WebSocket King 等客户端连接到同一个集线器 但是 我无法调用需要参数的集线器方法 可以从 SignalR JS 客户端轻松调用相同的方法 我检查了浏览
  • Maven 类路径顺序问题

    有谁知道在 Maven2 中设置特定类路径顺序的方法 而不是我目前遇到的随机顺序 想要这样做有很多合理的理由 供应商提供了一个补丁 jar 其中包含先前发布的 jar 的重写类 因此该补丁 jar 必须出现在类路径排序中的第一个位置 通过遍