【问题标题】:Eclipse Glassfish launch configuration - VM arguments are ignoredEclipse Glassfish 启动配置 - VM 参数被忽略
【发布时间】:2014-07-31 10:39:30
【问题描述】:

我正在努力使用 Eclipse Kepler 设置 Glassfish 4。无论我做什么,Glassfish 启动配置的 VM 参数都不会传递给运行服务器的 VM。甚至不是 Glassfish Tools for Eclipse 插件默认放入启动配置的参数 (-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009)。

正在运行的服务器已根据启动域的domain.xml 设置了所有系统属性。启动配置中指定的 VM 参数在途中全部丢失。

我已将 Glassfhish 插件更新到最新版本。我已经下载并解压了 Glassfish,然后告诉 Eclipse 在哪里可以找到运行时。我还让 Eclipse 通过 add-new-runtime 向导下载并安装服务器。没有区别。

虽然使用了 VM 参数文本框内容。如果我输入两个破折号,我会收到一个错误,正如预期的那样,告诉我两个破折号不是有效的 VM 选项。

我无法在网上找到与此问题相关的任何内容。这让我觉得我正在以错误的方式解决这个问题。但是怎么做呢?

启动配置:

VisualVM 和ps -e | grep glassfish 不显示任何 VM 参数。

【问题讨论】:

  • 您使用的是 Mac 吗?关于这个错误java.net/jira/browse/GLASSFISHPLUGINS-343 的 cmets 表明它对于 Mac 用户来说可能仍然存在问题。
  • 我在 Windows 7 上,它也坏了。虽然在调试模式下运行 Glassfish 时会读取 VM 参数。
  • @Gus 是的,我在 OSX 上运行 Eclipse。
  • 这似乎在 Windows 7 上的 Eclipse Luna 中工作。我明天可以在 Ubuntu 上试用它,但我没有 OSX 系统。你还在用 Eclipse Kepler 吗?
  • @stackdev jps 也不显示指定的 VM 参数。我不想只调试应用程序。应用程序需要属性文件的位置才能启动。我必须在 domain.xml 中将所有 VM args 指定为 <jvm-options> 条目,因为它们不是从启动配置中提取的。

标签: java eclipse glassfish glassfish-4 eclipse-kepler


【解决方案1】:

也许我错了,但我认为 eclipse 插件在内部调用 asadmin 来启动 glassfish。

因此,VM 参数不会被忽略,仅在 asadmin VM 实例上使用。

这可能是合理的

  1. eclipse插件调用asadmin start-domain domain1:批处理文件启动。
  2. asadmin 调用 java -arguments-from-eclipse-plugin ...,我们将其命名为 java(asadmin)。创建第一个 VM 实例,在其中运行 asadmin 类,而不是 glassfish。
  3. java(asadmin) 调用 java -arguments-from-domain-xml ... 启动 glassfish,我们将其命名为 java(glassfish)
  4. 当第二个 VM 实例运行时,java(asadmin) 退出。

所以java(asadmin) 不会将其参数传递给java(glassfish)

我没有这种行为的直接证据,但声明:

  1. eclipse 插件参数丢失
  2. domain.xml 参数被保留

这可能是原因。

【讨论】:

  • VM 参数在 DEBUG 模式下仍然保留。
  • 也许 Eclipse 插件在调试时使用了不同的启动模式(没有 asadmin)。
【解决方案2】:

是否由于 domain.xml 和 Eclipse 中都存在(未经请求的)参数而忽略了设置?

这篇文章有帮助吗? Glassfish 4.0 won't start from Eclipse

或者这个(似乎也影响4.0): https://java.net/jira/browse/GLASSFISH-6582

https://community.jaspersoft.com/documentation/jasperreports-server-install-guide/v56/setting-jvm-options-application-servers#additional_646152231_1160916

你不能放弃插件/使用另一个应用程序服务器吗?用过JBoss AS,没问题...

【讨论】:

  • 不,应用程序特定的参数肯定不存在于股票 domain.xml 中。它也不适用于 Glassfish 3。 Glassfish 设置为服务器运行时。此处无法更改。
  • 听起来真的很烦人!祝你好运;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-22
  • 2014-01-16
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
相关资源
最近更新 更多