在 JBoss AS7 独立部署中加载第 3 方 JAR 的最佳实践?

2024-02-03

在 JBoss-as-7.0.x 独立部署中加载第 3 方 JAR 的最佳实践是什么?

我努力了:

  1. 将每个 JAR 部署为具有自己的 module.xml 描述符的独立模块;
  2. 将 JAR 部署到 WAR 的 WEB-INF/lib 目录中;
  3. 以及在多个 WAR 之间共享的任何 JAR 的 foo.ear/lib 目录。

上述方法 1 的明显优点是部署时比方法 2 和方法 3 减少了内存占用。然而,维护起来似乎相当困难,因为 JAR 所具有的每个依赖项都需要在 module.xml 中显式定义。对于大量的第三方库来说,这似乎不太容易维护。


对于部署私有的较小依赖项,请将它们保留在WEB-INF/lib在你的.war,这就是它的用途。如果您使用 Maven,那么对于 范围内的任何内容都应该是自动且透明的。

对于大型、复杂的依赖项或将在多个应用程序之间共享的依赖项,请使用选项 (4):

将每个逻辑库(例如“OpenJPA”或“Log4J”)部署为模块,包括其 api 和 impl jar 以及其他 AS7 模块尚未提供的任何依赖项 JAR。如果已经有一个模块,请添加对其的依赖项,而不是将 JAR 添加到您的模块中。如果几个不同的库共享一些共同的依赖项,请将它们拆分为模块并将它们添加为模块依赖项module.xml.

Use jboss-部署-结构.xml https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7进行部署.war / .ear/ 无论是否声明对模块的依赖(如果未自动检测和自动加载)。

我发现这是一种中度到低度麻烦的方法,效果很好。这比把所有东西都扔进去更麻烦WEB-INF/lib在部署内部,这是 Java EE 标准要做的事情。它可以加快重新部署速度,并通过减少类/版本冲突来节省大量部署/测试时间。

如果您愿意做一些工作,您可以使用 Maven 和 maven-dependency-plugin 来生成已包含传递依赖项的模块。您可以在我为 AS 7 中的 EclipseLink 集成编写的模块 https://github.com/ringerc/as7-eclipselink-integration。只要有可能,我都会自动创建 AS7 模块。

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

在 JBoss AS7 独立部署中加载第 3 方 JAR 的最佳实践? 的相关文章

  • 为什么我没有这个类,而它应该在 rt.jar 中?

    所以 我正在尝试在 java 中实现 LDAP 连接 这需要com sun jndi ldap LdapCtxFactory 贾芬德表明LdapCtxFactory应包含在rt jar 据我了解 这是java SDK的基础 Eclipse
  • 使用 Ruby on Rails ActiveSupport::Concern 功能时如何“嵌​​套”包含模块?

    我正在使用 Ruby 1 9 2 和 Ruby on Rails v3 2 2 gem 鉴于我正在使用 RoR 我想 嵌套 包含模块ActiveSupport 关注 http api rubyonrails org classes Acti
  • 如何在Android中将外部jar文件包含到aar文件中

    我想开发一个解决方案 允许我在 Android 项目的 aar 文件中生成的 SDK 中使用外部 jar 库 我有什么输入 SDK de xx sdk xxx android v1 0 0 外部库 libs xxxx v1 0 0 我在调查
  • 从 kotlin 多平台项目创建 fat jar

    我最近从旧的 1 2 多平台切换到 1 3 不同之处在于 每个多平台模块都有一个 build gradle 文件 我有 5 个 因此配置少了很多 但是 我似乎无法配置使用 jvm 平台的所有依赖项创建可运行的 fat jar 我曾经在 jv
  • app_offline.htm 文件不起作用

    我已经为此奋斗了很多年 但我就是无法让它发挥作用 我去过的每个博客 网站都说您无需在 IIS 中执行任何操作 但这并不正确 因为有多个网站配置 例如应用程序 虚拟目录 简单的 php asp 网站 虚拟网站 有人可以向我解释一下 IIS7
  • go:找到模块但不包含包

    我正在尝试安装 go 的网络包 但收到 不包含包错误 终端截图 我咨询过 go 模块 latest 已找到但不包含包 https stackoverflow com questions 62974985 go module latest f
  • JSP 通常是作为 .jsp 文件、预编译的 Java 文件还是预编译的类文件提供的?

    在为生产环境准备 WAR 时 是否有打包 JSP 的 标准 实践 它们是否包含为 jsp 文件 或者它们是否作为预编译的 Java 文件或预编译的类文件包含在内 Servelts JSP 规范没有提及预编译 JSP 来实现此功能具体到容器实
  • Intellij 12 - 无法重新导入模块

    所以今天我遇到了一个奇怪的问题 我在 IntelliJ 中的一个模块遇到了一些问题 所以我决定尝试将其清除并从新的结账中重建它 我从 项目 窗口中删除了该模块 然后从我的文件系统中删除 重新下载 我回到 Intellij 并尝试导入该模块
  • Java webapp部署:爆炸还是不爆炸?

    一个非常简单的问题 我有一个 war 40MB 文件要在 JBoss 上运行 部署的最佳实践是什么 war 文件是否应该以分解格式部署 或不 我问是因为如果它爆炸了 那么我可以选择随时更新我的 属性文件 并且不需要每次更改属性文件时都进行新
  • 如何在模块中使用“before_action”

    我想在模块中使用 before action 不幸的是 我无法让它发挥作用 我正在谷歌搜索 但我发现的一切都无法解决问题 我的模块文件如下所示 module ShowController include SimpleController b
  • 可运行的 JAR 无法与引用的库一起使用

    我想创建一个可运行的 JAR 其中包含引用的库 即jackson http jackson codehaus org 在 Eclipse 中通过导出 过去有fat jar这似乎是 Eclipse 提供导出到可运行 JAR 之前的 goto
  • JBoss AS 7 部署顺序和时间安排

    我对一般部署顺序和具体时间安排有疑问 我有一个 Ear 1 它通过 bean 和一些队列提供一些功能 队列在standalone xml 中配置 另一只耳朵 2 使用 Ear1 的此服务 所以依赖关系看起来像 ear1 因此 我将ear 2
  • Weblogic:Java 8 迁移后 AppMerge 无法合并您的应用程序

    我们正在将 Java EE 应用程序从Java 6 to Java 8 这意味着编译级别和迁移JRE6 上的 Weblogic 11g to JRE8 上的 Weblogic 12c 当我尝试部署项目时 出现以下错误 lt 20 7 201
  • 将 JAR 文件打包为 WAR 文件

    我有一系列依赖的Java项目 我想将它们打包成一个 JAR 文件 以便在我的 WAR 文件中使用 这些项目依赖于大量的外部库和项目 如log4j apache commons等 我选择 Eclipse 中的所有项目并导出为 JAR 文件 然
  • Maven 配置文件 - 如何为父级运行插件一次,为模块运行多次?

    我对詹金斯的输出有点困惑 Jenkins 上的工作 底部缩短了 pom xml mvn deploy Pprofile1 我的所有插件都会运行 4 次 父 pom xml 父 module1 pom xml 父 module2 pom xm
  • Emacs-Lisp:如何将emacs-lisp程序打包为PC应用程序?

    只是想知道是否可以将 emacs 和 Lisp 程序打包和部署为 PC 应用程序 这样一旦下载并运行 setup exe 某种程度 用户就可以启动应用程序以使 emacs 运行特定的 Lisp 程序 就像应用程序已实现一样通过其他语言和平台
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • capistrano deploy.rb 中的 require 找不到文件

    我有一个 Rails 3 0 5 应用程序 我正在设置 capistrano 来使用配方 在我的配置目录中 我有一个名为 database capistrano rb 的文件 在我的deploy rb中 也在配置目录中 我有以下行 就在开头
  • 通过 ARM 模板将现有混合连接链接到 azure Web 应用程序

    我在天蓝色中有一个资源组 其中包含一个包含混合连接的中继 我正在尝试部署另一个包含 Web 应用程序的资源组 该应用程序应链接其他资源组中的现有混合连接 在天蓝色门户中执行此任务很简单 但由于我想在 ARM 模板部署期间运行 完整模式 因此
  • Rails 3.1 和 Asset Pipeline:使用 Capistrano 进行部署时遇到的问题

    我刚刚从 Ruby on Rails 3 0 10 切换到 3 1 0 我想使用 Capistrano gem 部署我的资产文件 我的本地计算机是运行 Snow Leopard 的 MacO 我的远程计算机运行的是 Ubuntu 10 04

随机推荐

  • 在 Pixel 2 和 Pixel 2 XL 上接收 UDP 广播数据包

    我正在开发一个从 Wi Fi 摄像头接收 UDP 广播数据包的应用程序 在我发现 Google Pixel 2 Pixel 2 XL 接收 UDP 广播包有问题之前一直都很好 为了找出原因 我做了2个测试应用程序 一个是UPD广播发送器 h
  • Python - 作业 - 将任意基数转换为任意基数

    我正在尝试编写一个程序 将任何基数中的数字转换为用户选择的另一个基数 到目前为止我的代码是这样的 innitvar float raw input Please enter a number basevar int raw input Pl
  • Facebook 登录后调用新活动 |安卓

    我的 Android 应用程序中有 2 个活动 在第一个中 我要求用户使用 facebook 登录 用户登录后 我收集用户数据 例如电子邮件 姓名 并调用一个新活动 将这些参数传递给它 下面是我的facebook授权方法 public vo
  • PlopJS 中的异步操作

    我想在 actions 属性中使用 async await 但是 它给了我 错误 处理程序没有任何操作 我尝试过 then 但仍然失败了 这是我到目前为止所尝试过的 我想做的是通过在操作中执行反应式提示 我不知道 然后使用await但失败了
  • 两种方式将数据绑定到单例服务 Blazor 服务器端

    我一直在使用 WebAssembly 在客户端上使用 Blazor 但我想我现在应该尝试服务器端版本 并且我有一个简单的想法想要尝试 所以我的理解是 Blazor 服务器端使用 SignalR 来 推送 更改 以便客户端重新渲染其页面的一部
  • 如何在javascript中从对象数组中获取唯一的对象

    我有一系列对象 如下图所示 有没有一种方法可以让我拥有一个包含唯一对象的数组id 我们可以在下面看到id索引 0 和索引 2 相同 Is there a way that I can get an array containing obje
  • 在不同架构的集群上应该指定哪个AVX和march?

    我目前正在尝试使用英特尔编译器编译用于 HPC 集群的软件 登录节点是我编译和准备计算的地方英特尔至强金牌 6148 https ark intel com content www us en ark products 120489 int
  • 从 PHP 执行 wkhtmltopdf

    我在 Linux 命令行下运行得很好 wkhtmltopdf 入口 html 输出 pdf 但以下内容在 PHP 代码中不起作用 exec wkhtmltopdf入口 html输出 pdf 有趣的是 我用谷歌搜索了很多未经检查的解决方案 但
  • Protobuf.net 列表的对象图序列化

    据我了解 protobuf net 的列表不支持 AsReference 因此我尝试解决此限制 我创建了一个名为 SuperList 的自定义列表 其中包含包装在 SuperListItem 类型的对象中的项目 如下所示 ProtoCont
  • Shinyapp 无法像本地一样在shinyapps.io 上运行

    我正在开发 R Shiny 应用程序 最初 我将数据集加载到内存中 并根据用户的输入日期对其进行切片 例如 我下载了过去 90 天的观察结果 如果用户选择以图表形式查看过去 20 天 我仅更新图表用于计算的数据帧切片 我试图通过查找该日期的
  • 在 Visual Studio 2010 中为远程 Sharepoint 2010 服务器进行开发

    据我所知 您无法在 Visual Studio 2010 中为远程 Sharepoint 2010 服务器进行开发 因为您需要在您的机器上运行本地副本 我知道有一个黑客 在我的情况下 我在本地安装了 Sharepoint Foundatio
  • 如何将 ORACLE DB 中大约 300 个表的数据导出到 csv 或 txt 文件

    是否有可能使用任何 PL SQL 过程将包含数百万条记录的单个模式中的大约 300 个表中的数据导出到 CSV 或 TXT 您有什么建议 哪种方法最快 目前我不需要将这些导出的文件导入到任何其他模式 我尝试使用 Toad 手动逐表导出 我创
  • 模态视图的导航栏位置 - iOS7

    在导航控制器中 您可以按预期自动获取导航栏的正确颜色和位置 像这样 但在模式视图中 当您拖动导航栏时 您可以将其放置在顶部 这与运营商 电池信息太接近 因此 您可以将其向下拖动 猜测它与自动创建的位置匹配的程度 但随后就会出现颜色差异 我尝
  • 带下划线的 Maven 原型文件名模式

    我正在创建一个 Maven 原型 我想生成类似的文件project todo messages properties with todo由过滤属性替换 我创建了一个文件project todo messages properties和一个过
  • .NET Url 重写根 url

    我在 IIS7 中有以下规则
  • 如何将 git commit hash 分配给 Jenkins 文件中的变量

    我正在尝试将 git commit hash 分配给 Jenkins 管道中定义的变量 如下所示 GIT COMMIT HASH sh git log n 1 pretty format H 这将在 Jenkins 构建日志中打印提交哈希
  • 如何修复“Gradle 构建无法生成 Android 捆绑包”。在颤振中

    跑步时flutter build appbundle我收到以下错误 Gradle 构建无法生成 Android 捆绑包 当在详细模式下运行时 这是我另外得到的 0 throwToolExit package flutter tools sr
  • 有没有办法判断SMM中断发生了?

    对于某些以编程方式定义的间隔 有没有办法确定SMM https en wikipedia org wiki System Management Mode当前核心上是否发生了条目 从 Nehalem 开始 MSR 寄存器 0x 34 称为MS
  • PHP PDO sqlite:无法打开数据库

    我使用 sqlite 在 php 中开发一个 web 应用程序 将数据存储在数据库中 正如在互联网上看到的 我使用 PDO 而不是 SQLITE3 类 我执行了互联网上显示的所有步骤来避免此错误消息 但它仍然出现 SQLSTATE HY00
  • 在 JBoss AS7 独立部署中加载第 3 方 JAR 的最佳实践?

    在 JBoss as 7 0 x 独立部署中加载第 3 方 JAR 的最佳实践是什么 我努力了 将每个 JAR 部署为具有自己的 module xml 描述符的独立模块 将 JAR 部署到 WAR 的 WEB INF lib 目录中 以及在