问题标签 [ear]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Maven 从文件名中删除版本号
我在 Maven 中有一个包含 5 个模块的项目。现在,当我执行“mvn clean install”时,它会生成一个包含两个 jar 的耳朵,一个是 war,一个是来自其他模块的 sar。
所有文件名都包含版本,例如projectx-ear-2.0.0.ear、projectx-client-2.0.0.jar等。
我需要重命名其中一个罐子和最后一个耳朵以省略文件名中的版本。它应该如下所示:
现在我正在使用以下插件来构建:maven-compiler-plugin 和 maven-release-plugin
实现我期望的结果的最佳方法是什么?
java - 将多个 WAR 重新打包到一个 EAR 中
我正在开发一个项目,该项目有几个使用 Maven 构建并部署在 Java EE 中的 webapps (WAR)。
这些 WAR 共享几个常见的业务 JARS(比如一个包含从 hibernate 加载的域对象)和其他框架 JAR,如 Spring 和 Hibernate。
他们使用 Spring MVC,Application Context 加载 Hibernate。由于每个 WAR 在 servlet 容器中都有自己的 Classpath,因此不共享 Hibernate 缓存 (EHcache)。
我想要的是在不同的 WAR 之间共享缓存以及休眠会话工厂 bean(以及其他常见 bean)。我认为这可以通过在 EAR 中重新打包这些 WAR 来实现,然后我必须使用这些公共 bean 制作一个 spring 配置 XML,并在 WAR 的 Spring XML 中使用我读过的 SingletonBeanFactoryLocator 之类的东西。
我在这里要问的是,是否有一种简单的方法可以做到这一点,最大限度地减少对 WAR 的 POM 的更改
注意:我熟悉 WAR、tomcat 和 servlet,但不太熟悉 EAR。
提前致谢。
java - 将 EAR 的多个实例(代表版本)部署到 Glassfish
我基本上希望能够将同一个 EAR 文件的多个版本部署到同一个服务器(Glassfish 实例?),并且每个版本都有一个唯一的路径来分隔它们。
从我对此的阅读看来,多个 EAR 部署到 Web 服务器名称空间的根目录,这样如果它们没有冲突的 WAR 上下文根目录,它们就可以共存。
在我的情况下,我宁愿拥有它而不是一切都在“/”下,我希望能够将给定的 EAR 文件构建标记为始终部署在给定路径下,如“/foo-20100319”或“/ foo-CUSTOMER-20010101”。这可以通过重命名单个 WAR 文件轻松完成。我不需要也不希望他们互相打扰。
据我了解,这种重新映射超出了 application.xml 文件的范围,所以我发现http://docs.sun.com/app/docs/doc/820-7693/beayr?a=view说我可以指定 web-uri 和 context-root,但我不确定我想做什么,可以在 Glassfish 中用这些指定。
我应该如何处理这个?我可以完全控制构建过程。
(我发现一次性将多个 Java Web 应用程序部署到 Glassfish,但我不确定如何将其应用于我需要的东西)。
deployment - 我可以使 WAR 依赖于 JBoss 5.1 中的 JNDI 条目吗?
作为从 JBoss 4.0.4 升级到 5.1 的一部分,我试图在 EAR 成功部署后部署 WAR。JBoss 5.x 不像 4.x 那样支持PrefixDeploymentSorter,这意味着我必须在 WAR 的 jboss-web.xml 中使用 <depends>。
看来我不能依赖 EAR本身,所以我选择了最后部署的 EJB。此 EJB 提供了 WAR 需要的 JNDI 条目。
这是部署目录中不存在 WAR 时部署的 EJB:
这是来自 jboss-web.xml 的依赖片段:
我的问题是: WAR 在“STARTED EJB:”之后立即开始部署,即在 MyFacadeBean 绑定到 JNDI 之前,这会导致 bean 部署失败:
WAR 完成部署后,MyFacade 愉快地(嘲弄地?)继续部署并绑定 JNDI 条目。
如果我在 EAR 部署后热部署 WAR,一切都会按预期工作。
我什至想过依赖 EAR 中的虚拟 EJB,并在 jboss-app.xml 中使用 <module-order>strict</module-order> 来强制它作为最后一个模块加载。但是很可惜,JBoss 5.x 也不支持。嗬!
有没有办法依赖 JNDI 条目本身?还有其他方法可以解决这个问题吗?
jsf - 你可以在一个类加载器中加载多个 jsf 战争吗?
我有 3 个安装了 JSF 的 war 文件,3 个面配置,当我将它们全部加载到作为 EAR 一部分的一个类加载器中时,它会因初始化错误而失败。如下所示。似乎 JSF 不喜欢在一个类加载器中多次加载,有人试过吗?用 3 次 JSF 战争加载 EAR?
maven-2 - 如何使用 Maven 在 RAD 中构建 J2EE EAR 文件?
使用 Rational Application Developer 创建 J2EE 应用程序,我为我的 EAR 创建一个项目,为我的 WAR 创建一个项目——遵循 RAD 创建的通常项目结构。
那么,我如何创建一个 Maven 构建文件来构建带有 WAR 的 EAR,等等 - 准备部署。从 Hudson 开始构建需要工作。
java - 如何在没有 RSA/RAD 的情况下构建 WAS 6.1 特定的 EAR?
是否有一些 IBM ant 任务支持这一点?
eclipse - 您如何确保在 Eclipse Galileo 的最终 EAR 中打包实用程序项目库依赖项?
我有一个“实用项目”和一个包含该“实用项目”的“EAR 项目”。'Utility Project' 中的所有类最终都打包为 JAR 并放置在导出的 EAR 的 'lib' 目录中,例如:
但是,“实用程序项目”依赖于已使用“属性 > Java 构建路径 > 库”添加到构建路径的库 (freemarker.jar)。我要做的就是将 freemarker.jar 添加到 EAR 中,如下所示:
通过在 Eclipse 中四处搜索,我发现了 4 种实现这一目标的潜在途径,但都没有奏效。如果有人能直截了当地告诉我我应该做什么,那就太好了。但以防万一,我将在这里迭代它们:
从“公用事业项目”属性:
- 如果我单击“Java Build Path > Order and Export”并选择“freemarker.jar”进行导出,则 jar 根本不会出现在 EAR 文件中。
- 如果我单击“Java EE 模块依赖项”并选择“freemarker.jar”库作为依赖项,它会显示:
这个 JAR 是一个 EAR 项目的捆绑库,应该打包在 EAR 的库目录中。它与您尝试创建的清单类路径依赖项冲突。如果您创建此依赖项,JAR 将被打包在 EAR 的根(不是库)目录中。您确定要继续吗?
从“EAR 项目”属性:
- 如果我单击“Java EE Module Dependencies > Add JARs...”并导航到“freemarker.jar”,并使其成为依赖项,它将被添加到 EAR 的根目录:/freemarker.jar
- 如果我执行与上述相同的操作,但选中“In Lib Dir”复选框,它将被添加到 lib 文件夹中,但包含在另一个 lib 文件夹中:/lib/lib/freemarker.jar
谢谢。
java - 如何在同一应用服务器上从一只耳朵访问另一只耳朵的方法
我在一台服务器上部署了两个 EAR。我想将 EAR 中的一个 java 类中的一种方法访问到第二个 EAR 中的另一个 java 类。
有什么不同的方法可以实现这一目标。哪一个是最好的方法。
谢谢
java - Weblogic、JVM 和 EAR
我打算在生产 weblogic (10) 实例上使用 jmap jdk1.5 工具进行堆转储。
实际上在这个 weblogic 实例上部署了 3 个 EAR(也许更多,真的不知道我没有访问权限)。
有人告诉我“weblogic 为每个 EAR 创建一个 JVM”有人可以证实这一点吗?
使用 jmap 我需要 jvm pid 作为参数来进行堆转储......因为我有 3 个 EAR 我想我有 3 个 pid 所以我想知道如何知道哪个 pid 对应于哪个 EAR JVM?