问题标签 [glassfish-embedded]
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 - 无法从浏览器访问嵌入式 Glassfish 的运行实例
我正在尝试使用嵌入式 Glassfish 来运行一些单元测试。我已设法配置并启动服务器,但我无法从浏览器访问管理控制台。我也不能从 java 代码访问 REST 接口。我的问题是:是否可以使用 REST 从浏览器或 Java 代码访问嵌入式 Glassfish 服务器?如果是,我做错了什么?
使用的代码是这样的:
非常感谢!
java - 如何处理类路径冲突
在我的项目中,我同时使用 glassfish-embedded 3.1.1 和 guava lib...问题是 glassfish 带有番石榴的旧实现(即 google-collections)...
这会在运行时导致 NoSuchMethodError,例如使用 Lists.reverse() 或稍后在 guava 中引入的 Sets.newIdentityHashSet() 时。
我没有找到任何解决方案来解决这个问题......(唯一的方法是手动丢弃 glassfish jar 中的 com/google 类目录......)
java - 使用嵌入式容器测试 EJB。如何登录?
我正在尝试使用嵌入式容器测试我的 EJB。
但是我的一些方法仅限于某些角色。所以,我的问题是。如何登录到容器,以便可以测试这些模拟将调用 Session Bean 的用户的方法?
谢谢
maven - Maven 和嵌入式 Glassfish 插件 - 如何提供 derby jdbc 驱动程序
运行嵌入式 glassfish 插件时,我收到以下消息。
如何提供 javadb 客户端 jar 文件?
maven - maven-embedded-glassfish-plugin 抛出 ClassNotFoundException
我已将我的 pom 文件配置为使用 maven-embedded-glassfish-plugin。事实上,这是生成项目的 jersey-webapp 工件。pom的插件部分如下:-
org.glassfish maven-embedded-glassfish-plugin ${glassfish.version} 嵌入式-glassfish /Users/vdevigere/Projects/ShoppingSite/shoppingsite-ws/target/${project.build.finalName}.war 测试真 8080 com.sun .jersey jersey-servlet ${jersey.version} javax.servlet javax.servlet-api 3.0.1
当我执行 mvn embedded-glassfish:run 时,我得到一个堆栈跟踪,通知我找不到 javax.ejb.Stateless。堆栈跟踪如下
EVERE:调用 com.sun.enterprise.web.WebApplication 类启动方法时出现异常 java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException : java.lang.NoClassDefFoundError: javax/ejb/Stateless at com.sun.enterprise.web.WebApplication.start(WebApplication.java:138) at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)在 org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) 在 org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:294) 在 com.sun.enterprise.v3.server.ApplicationLifecycle .deploy(ApplicationLifecycle.java:462) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) 在 org.glassfish.deployment.admin.DeployCommand。在 com.sun.enterprise.v3.admin.CommandRunnerImpl 执行 (DeployCommand.java:382)$1.execute(CommandRunnerImpl.java:355) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370 ) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96) 在 com.sun.enterprise .v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1244) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232) 在 com.sun.enterprise.admin.cli .embeddable.DeployerImpl.deploy(DeployerImpl.java:129) 在 com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:105) 在 org.glassfish.maven.PluginUtil.doDeploy(PluginUtil.java :106) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect .Method.invoke(Method.java:597) 在 org.glassfish.maven.AbstractDeployMojo.doDeploy(AbstractDeployMojo.java:239) 在 org.glassfish.maven.RunMojo.execute(RunMojo.java:68) 在 org.apache。 maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java: 569)在 org.apache.maven.lifecycle.DefaultLifecycleExecutor。executeGoal(DefaultLifecycleExecutor.java:539) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) at org.apache .maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 在org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 在 org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method ) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect。DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds .Launcher.launch(Launcher.java:255) 在 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 在 org.codehaus.classworlds.Launcher.main(Launcher.java:375)
我已经确认 javax.ejb.Stateless 是 glassfish-embedded-web 的一部分,它作为测试范围依赖项包含在内。
org.glassfish.extras glassfish-embedded-web ${glassfish.version} 测试
我不知道为什么这不起作用。我能够将应用程序部署到实际的 glassfish 应用服务器。
java - 使用 Maven 启动多个 Glassfish 服务器
我有一个多模块 Maven 项目,如下所示:
- 父级(POM 项目)
- Module1(Web 服务)- 部署在端口 1001
- Module2 (Web Service) - 部署在端口 2001
- Module3 (Web Service) - 部署在端口 3001
我正在使用 maven 嵌入式 glassfish 插件来部署 Web 服务。但是,我需要通过在父项目中运行 (mvn clean install) 将服务部署到多个 glassfish 实例。
我在所有模块中使用以下配置
目前,我为了运行所有服务,我必须手动进入每个服务并运行“mvn install”,因为当我在父项目中运行 mvn install 时,它会构建第一个模块并等待退出代码“输入‘X’退出...”。只有当我键入“X”并按 Enter 时,才会部署并启动第二个模块。我希望模块中的所有服务同时启动。
resources - activeMq rar 自动部署在 glassfish 中
是否可以将activeMq rar自动部署到嵌入的glassfish中?我尝试了很多使用 glassfish-embedded-all-3.1b11 到 3.2b06 的方法,但没有运气。特别是,我想使用 javax.ejb.embeddable.EJBContainer api,而不是动态部署到 org.glassfish.embeddable.GlassFish。
glassfish-3 - Embedded Glassfish 3.1.1 的授权问题
我正在使用 Embedded Glassfish 部署 Java EE 5 Web 应用程序。使用 3.1 版我成功地:
将其部署在普通(非嵌入式)环境中;
在第一步的基础上,创建一个嵌入式部署。
然后,事情发生了变化,我再也不能成功了。每次我尝试登录时,我都会收到 403 错误,这意味着我的环境正在运行(可以进行身份验证)但我的授权规则不好!好的。您可以认为这显然是一个编码/配置问题,但事实是,当我不在嵌入式环境(现在是 3.1.1 版本)时,相同的 .WAR 可以部署并顺利运行。我刚刚尝试将上述两个步骤重复到 3.1.1 版本,但出现相同的错误。
我对这个新的 GlassFish 版本做错了什么?
cobertura - Glassfish 嵌入式 + maven cobertura 插件
我通过以下方式使用了嵌入式 glassfish:
问题是嵌入式 glassfish 使用“target/classes”中的类,而 maven cobertura 使用“target/generated-classes/cobertura”。然后,第一次运行测试没问题,但是在第二次运行 cobertura 时,我收到 java.lang.RuntimeException: javax.naming.NamingException (可能是因为 cobertura 正在处理“目标/生成的类/cobertura ”而 glassfish 正在研究“目标/类”)。
有什么想法可以解决这个问题???
jakarta-ee - 如何开始使用嵌入式 GlassFish 和 Java DB/Derby 对 Java EE JAX-RS 应用程序进行单元测试,最好是在没有 Maven 的 NetBeans 中?
我对 JAX-RS、JPA、GlassFish、Java DB 和 NetBeans 比较陌生,我想为我的代码编写单元测试。[版本号在底部。] 但是,我不知道从哪里开始。我已经做了很多搜索,但我还没有清楚地了解如何设置我的代码的嵌入式测试。我正在使用 NetBeans,但我的问题很笼统。我希望我能更清楚地提出我的问题,但这是我能做的最好的。到目前为止,我已经找到了以下可能的部分(此时更像是提示)。
o 我想在没有 Maven 的情况下进行设置,但这意味着我必须手动安装嵌入式 jar。问:我在哪里可以找到它们?
o 创建我的配置 xml 文件(glassfish-resources.xml 和 persistence.xml)的版本,指定 GlassFish 和 Java DB 的嵌入式版本。问:但是您如何告诉 NetBeans 使用那些进行测试而不是依赖于已安装版本的生产?
我认为 persistence.xml 看起来像这样(通过使用带有嵌入式 derby 的 hibernate):
o 创建自定义 Glassfish 域配置文件(嵌入式 GlassFish 忽略 Maven 测试资源)。问:这应该是什么样子?我有来自使用我的 NetBeans 安装创建的默认 domain1 的 domain.xml,但它有很多内容。
o 一旦我的项目可以访问嵌入的文件,并且它被配置为使用它们,我的 JUnit 工具应该是什么样子?http://jersey.java.net/nonav/documentation/latest/client-api.html#d4e759说:
但是,我也见过提到 EJBContainer,例如(来自http://docs.oracle.com/javaee/6/tutorial/doc/gkcqz.html):
o 我正在使用 JPA,所以我需要访问 PersistenceContext/EntityManager。目前我通过以下方式查找:
但我也见过:
问:掌握这个的正确方法是什么?
我将衷心感谢您的帮助。
- 版本:
- GlassFish Server 开源版 3.1.2(内部版本 23)
- Java DB/德比:10.8.1.2 - (1095077)
- NetBeans IDE 7.1(内部版本 201112071828)