gpt4 book ai didi

java - 如何删除 Eclipse 提供的默认命令行参数?

转载 作者:行者123 更新时间:2023-11-30 05:57:19 25 4
gpt4 key购买 nike

长话短说,我发现我必须在没有“-XstartOnFirstThread”的情况下启动我的java应用程序。但是,Eclipse 向通过 Eclipse 启动的任何 Java 应用程序提供此参数(请参阅 Debug模式下正在运行的应用程序的属性)。

我看不到这些默认参数的来源以及如何调整或删除它们。 “运行配置”中的参数字段为空,当前 JRE 的默认参数字段也为空(可以通过属性 -> Java -> 安装的 JRE -> 编辑找到)。

如有任何帮助,我们将不胜感激!


长话短说:当启动几乎没有逻辑的基于 Swing 的应用程序时,我收到错误 *** __NSAutoreleaseNoPool(): Object 0x100166860 of class NSConcreteMapTableValueEnumerator autoreleased with no pool in place - just Leaking 。我知道该应用程序在 Windows 和 Linux 下运行良好,因此这不是代码中的错误。

我对显示错误没有任何问题,因为应用程序仍然启动了。但是,我无法与窗口交互。这意味着我无法聚焦于它(当我将其聚焦时,它会自动移至背景),并且我无法单击任何按钮或菜单。

经过一个小时的网络挖掘后,我发现:

  • 这是 SWT 和 AWT 同时运行时的问题(如果加载了 SWT,AWT 将挂起加载)
  • 此问题仅在从 eclipse 启动时出现,通过控制台启动应用程序(不带参数)一切运行正常
  • 当使用错误的线程时会出现此问题(上述 -XstartOnFirstThread-XstartOnSecondThread 参数)

现在我已经接近我的目标了,因为我知道我必须将 -XstartOnFirstThread 替换为 -XstartOnSecondThread (从控制台测试 - 应用程序在第二个线程上运行良好)线程并在第一个线程上抛出已发布的错误)。现在我只需要知道如何删除默认参数,该参数提供给通过 Eclipse 启动的任何 java 应用程序。

再次感谢!


编辑:如上所述,问题是由于 -XstartOnFirstThread 参数而发生的。但是,解决方案不是删除该参数(不可能,请参阅接受的答案):解决方案是从类路径中删除 swt.jar

这是因为当 swt.jar 位于类路径中时 Eclipse 会附加此参数。加载该库会导致所描述的问题,即使它没有被使用。

最佳答案

这是一个 Unresolved Eclipse Bug:Bug 211625 - Need option to omit -XstartOnFirstThread for

另请查看this 'workaround' .

关于java - 如何删除 Eclipse 提供的默认命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5865844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com