Glassfish在Intellij中无法启动,除非我使用sudo运行Intellij。

7

标题已经说了一切……我只是想让GlassFish运行起来。这是我遇到的错误:

Detected server admin port: 4848
[2015-04-06 07:37:56,138] Artifact java_web_app:war exploded: Server is not connected. Deploy is not available.
Detected server http port: 8080
Command start-domain failed.
JVM failed to start: com.sun.enterprise.admin.launcher.GFLauncherException: The server exited prematurely with exit code 1.
Before it died, it produced the following output:

This subcommand requires root privileges: bsexec

这件事肯定有解决方法吧?我不想每次都用sudo运行Intellij。


在 Mac 上,我使用 sudo 命令运行以下命令:sudo asadmin start-domain,并且它起作用了。 - Roy Lee
4个回答

9
答案:GlassFish 4.1,IntelliJ IDEA 14.1
我不知道(意图不明)为什么GlassFish需要一个root用户帐户。
您需要执行类似于这样的操作:
/Library/opt/payara-4.1.151/glassfish/bin/asadmin start-domain --verbose=true  domain1

打开Go Run菜单 -> 编辑配置 -> 选择配置(acme-payara-project) -> 启动配置

编辑启动脚本,并添加--verbose-true参数。


FYI,现在有一个开放的问题需要解决,以便将其修复到Payara中:https://github.com/payara/Payara/issues/262 - Mike

6

这是在Mac OSX 10.10.3上发生的问题吗?如果是,我们可以通过更改文件/usr/libexec/StartupItemContext的内容来解决该问题。

#!/bin/sh
unset LAUNCHD_SOCKET
$@

我们还在相应的glassfish问题报告上报了这个解决方法:https://java.net/jira/browse/GLASSFISH-21343 请注意,这只适用于glassfish 4.0版本。在4.1版本中,他们改变了启动代码,因此这个 StartupItemContext 文件将不再使用。
如果您的glassfish版本为4.1,则目前已知的唯一解决方法是使用--verbose=true参数启动glassfish。

您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - netshark1000
如果你的Glassfish版本不是4.1,那么这就是你需要做的一切。如果你的Glassfish版本是4.1,那么可能不能够奏效。我会更新我的答案以反映这一点。 - Simon07
是的,那样可以运行。但是你真的想以root权限运行应用服务器吗? - Simon07
如何通过更改IntelliJ中的“编辑配置”以添加--verbose=true命令?我正在寻找正确的字段来添加此参数。 - peter_pilgrim
1
没关系,我眼瞎如蝙蝠。我会添加答案:GlassFish 4.1解决方法。 - peter_pilgrim
--verbose 对我在 Intellij 14.1.4 和 osx 10.10.3 上起了作用。 - Austin Pray

5
在我的OS X 10.10.4和IntelliJ 14.1.4上解决了这个问题,只需要在启动脚本中加入-v即可。

screenshot


3

在“启动/连接”选项卡下更改运行配置中的启动命令为以下内容,这对我有效:

.../glassfish-4.1/glassfish/bin/asadmin start-domain --verbose domain1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接