问题标签 [maven-glassfish-plugin]
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.
deployment - Maven-glassfish-plugin:如何指定部署目标?
我将 Maven 3.0.4 与 maven-glassfish-plugin 2.1 ( http://maven-glassfish-plugin.java.net/ ) 和 Glassfish 2.1.1 一起使用。
相关 POM.XML 片段:
问题是,我部署到的 Glassfish 服务器为每个开发人员配置了一个独立实例,并且运行mvn glassfish:deploy
原因:
注意--target server
执行的命令。
如何在 POM 中指定target
要部署到的实例(即)?
jakarta-ee - 如何为嵌入式 EJB 容器定义测试数据源
我正在尝试使用嵌入式 EJB 容器测试我的 EJB。在生产中,我依赖于应用服务器中配置的 JTA 数据源。但是,在测试期间,我想连接到不同的数据库(内存 Derby)。
问题是我看不到如何告诉 EJB 容器通过连接到内存中的 derby DB 来覆盖我的生产 persistence.xml(在 src/main/resources/META-INF 中)中定义的 JTA 数据源。JTA 数据源在 persistence.xml 文件中定义,如下所示:
尝试 1:使用测试 persistence.xml
我尝试创建一个测试 persistence.xml 文件(在 src/test/resources/META-INF 中),它定义:
但这没有实际意义,因为当我指定 EJB 容器以使用被测模块时
容器只使用主 persistence.xml 文件而不是我的测试文件。
尝试 2:将主类和测试类合并到一个分解模块中
我认为使这种方法起作用的唯一方法是使用此处描述的方法- 将被测模块的类复制到单独的位置(例如 target/ejb-testing-classes),然后复制测试 persistence.xml文件放在顶部,然后将这个新位置指定给 EJB 容器:
但这似乎不必要地笨拙。如果我尝试在容器中部署预打包的模块(即依赖项),将来也可能会出现问题,因为我需要在合并之前分解 jar。
我的愿望:EJB 容器的数据源覆盖属性
我认为可能有其他属性可以传递到 EJB 容器中,但到目前为止,我只能找到适合openEJB或websphere的属性。我正在使用嵌入式 Glassfish 来提供我的嵌入式 EJB 容器,因为它是目标平台。(我现在找到了 glassfish 属性 - 请参阅下面的更新 #1)
当然,每个尝试使用嵌入式 EJB 容器和与生产数据库不同的数据源测试 EJB 的人都遇到过这个问题。甚至这个人也只是在这一点上放弃并使用了默认的嵌入式数据库,这对我来说不是一个选项。
任何帮助将非常感激。
更新 1:我找到了Glassfish EJB 容器接受的属性列表,起初我似乎可以使用以下属性
在 domain.xml 中定义数据源并将容器指向它。但是,根据源代码,除非还设置了 installation.root 属性,否则此属性将被忽略 - 这意味着需要预先安装 glassfish 才能运行我的测试。这会不可接受地降低我的 Maven 项目的可移植性。:(
更新 2:我为这个问题创建了一个JIRA 问题,并建议为 glassfish EJB 容器引入属性,该容器允许配置 JTA 数据源。
logging - 使用 maven-embedded-glassfish-plugin 在嵌入式 Glassfish 中指定 logging.properties
我使用包含嵌入式 Glassfish 的 Maven 配置的项目模板(使用 maven-embedded-glassfish-plugin)。我需要启用日志记录,但我什至不知道 Glassfish 中启用了哪个日志记录引擎(因为我没有创建模板)。
该模板使用slf4j-log4j12作为依赖项,但我不确定 slf4j 或 java.util.logging 是否执行实际的日志记录。因此,我创建了两个日志文件,一个logging.properties
和一个log4j.properties
,并将它们都放入src/main/resources
and /src/main/resources/META-INF
,这两个似乎都不起作用。
我添加java.util.logging.config.file=logging.properties
了 Maven Glassfish 系统属性(也适用于 log4j),但也没有成功。我检查了属性文件是否在 JAR 文件中。
如何确定哪个后端负责记录?
如何使用 Maven 嵌入式 Glassfish 插件为嵌入式 Glassfish 指定日志记录配置?
目前,我在默认情况下获得 INFO 级别的日志记录输出。我想这是默认设置。
spring - 部署新版本的 Java EE Web 应用程序时出现 java.lang.VerifyError
我在当前的 Web 项目中修改了一些代码以添加 Spring 事务管理。当我在 Eclipse 中部署它时,甚至在我的工作区中调用“Maven clean”和“Maven install”时,一切正常。但是,当我的持续集成服务器 (jenkins) 尝试在我的远程服务器上重新部署它时,我得到一个 java.lang.VerifyError 并且它失败了:
我使用 jdk1.7(我检查了我的服务器,它仍然是环境变量中的正确 JDK)、maven 和 Glassfish。这是我的 pom.xml:
我尝试添加 maven-surefire-plugin,如这篇文章中所示:如何让单元测试在 java 7 中运行:java.lang.VerifyError: Expecting a stackmap frame at branch target but without success... As I'我不是 Maven 专家,很难找出我的配置有什么问题,所以任何帮助都将不胜感激!提前致谢
linux - 如何在我的 Linux 服务器上使用 maven-glassfish-plugin 进行部署?
我尝试在Linux服务器上部署我的 Web 应用程序。
当我在本地服务器 GlassFish 上部署时:没关系。但是,当我尝试在 Linux 服务器 Glassfish 上部署时:maven 尝试在我的本地计算机(操作系统:Windows)中调用“ asadmin.bat ”。所以构建失败。我希望 Maven在 Linux 服务器上调用“ asadmin shell script ”。
如何向maven-glassfish-plugin
服务器 Linux 声明?
maven - 如何使用 Liquibase 更新嵌入式 Glassfish 实例中的数据库
我正在将我们的数据库管理转换为 Liquibase。这运行得很好。
作为后续步骤,我想确保所有未来的修改在部署到通用环境之前都经过测试,持续集成风格。我尝试使用以下设置执行此操作:
- 构建包含 EJB Web 服务的耳朵
maven-embedded-glassfish-plugin
用于在预集成测试 maven ohase 期间启动 Glassfish 3 的嵌入式 实例- 创建我的数据源作为开始目标的一部分
- 在部署目标期间部署 ear
- 仍然在预集成测试中,我在同一个数据库 URL 上运行 liquibase:update。在这种情况下,一个 H2 文件数据库
- 然后我想在部署的应用程序上运行我们的 SoapUI 测试
但是当我走到这一步时,应用程序在数据库中找不到任何数据。所以问题是我是否在我的设置中遗漏了一些东西,或者是否有更好的方法来组织我的预期目标?
pom.xml,嵌入 Glassfish
pom.xml,Liquibase
我在目标表中插入数据的变更日志中有一个变更集。
- 我是否设置了正确的用户?
- 有没有办法在与 Glassfish 相同的进程中运行 Liquibase 并改用
mem:
数据库?
谢谢和问候,克里斯蒂安
maven - maven-glassfish-plugin 从 windows IDE 远程 delopy 到 linux 服务器
我想使用 maven-glassfish-plugin 2.1 部署到远程 Linux 服务器。
但是插件总是尝试调用C:\...\asadmin.bat
. 这是错误消息:
[ERROR] Failed to execute goal org.glassfish.maven.plugin:maven-glassfish-plugin:2.1:deploy (default-cli) on project LottoEarth: Deployment of D:\workspaces\eclipse-kepler\Project\target\myProject-0.0.1-SNAPSHOT.war failed. IOException: Cannot run program "D:\opt\glassfish3\glassfish\bin\asadmin.bat": CreateProcess error=2, Das System kann die angegebene Datei nicht finden -> [Help 1]
我试图在我的个人资料中声明操作系统,但没有奏效。
pom.xml - Maven Glassfish 插件 - 处理重新部署/部署/取消部署失败
我需要使用 maven 构建和部署战争到 glassfish(问题解释如下)。
目前,我设法使用 maven glassfish 插件部署了战争,并且我使用了目标 redploy,如下面的 POM 所示:
问题:假设已经部署了一个战争,当我执行命令 mvn clean install 并且在部署过程中出现问题。因为我已经将目标用作重新部署,所以战争将首先进行取消部署,然后进行部署。在我的万一这个POM下次不能用了,因为失败了,战争不存在了。
需要帮助 请帮助我检查 POM 是否部署了战争,然后根据结果我需要启动目标部署或取消部署哪些套件。
假设没有部署战争,我需要在 POM 中调用 glassfish:deploy。
提前感谢您的时间