java - GlassFish 4.1 部署在使用 JDK 8 的 eclipse Luna 上失败

标签 java eclipse glassfish

无法在使用 JDK 8、glassfish 4.1 的 eclipse Luna 上部署 Glassfish.jsp。

异常堆栈跟踪:

    org.glassfish.tools.ide.admin.CommandException: Cannot initialize Runner class
        at org.glassfish.tools.ide.admin.AdminFactory.newRunner(AdminFactory.java:180)
        at org.glassfish.tools.ide.admin.AdminFactoryHttp.getRunner(AdminFactoryHttp.java:110)
        at org.glassfish.tools.ide.admin.ServerAdmin.exec(ServerAdmin.java:75)
        at oracle.eclipse.tools.glassfish.GlassfishServerBehaviourDelegate.publishDeployedDirectory(GlassfishServerBehaviourDelegate.java:608)
        at oracle.eclipse.tools.glassfish.GlassfishV4ServerBehavior.publishModuleForGlassFishV3(GlassfishV4ServerBehavior.java:96)
        at oracle.eclipse.tools.glassfish.GlassfishV4ServerBehavior.publishModule(GlassfishV4ServerBehavior.java:56)
        at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091)
        at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183)
        at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:987)
        at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
        at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3157)
        at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

session 数据:

eclipse.buildId=4.4.1.M20140925-0400
java.version=1.8.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=es_MX
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

最佳答案

当您在 Eclipse 中添加 Glassfish 服务器时,有一个选项“在重新部署时保留 session ”。 Glassfish 工具插件中存在错误(至少截至 2015 年 1 月 22 日)。违规代码位于 computePreserveSessions() 方法的 oracle.eclipse.tools.glassfish.Abs​​tractGlassfishServer 中。如果您取消选中该选项,该方法返回 null,该键被插入到调用堆栈更下方的 Map 中,其他人检查空键,然后 boom:“无法初始化 Runner 类”。

基本上,选中“跨重新部署保留 session ”,取消部署之前失败的任何部署,然后重新部署。

对我有用。

关于java - GlassFish 4.1 部署在使用 JDK 8 的 eclipse Luna 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26786155/

相关文章:

java - 拍照和使用图像 - 内存不足错误

java - 使用 native 或内置函数生成多个随机数

java - 禁止 Java (JSSE) 中的 SSL 重新握手?

java - 如何避免自定义 Java 异常类中的重复

Eclipse Maven (m2e) 不从中心搜索或下载

java - Gradle + Eclipse:在新项目中使用现有项目中的类

android - 亚行错误 : unable to parse adb version

java - 从具有 Web 服务的基本 Java 项目到可部署的 Glassfish 工件?

cors - 在 Payara(或 Glassfish)服务器中启用 CORS 设置

java - 无法使普通 Web 服务在普通 servlet 中工作 [Netbeans、glassfish]