问题:我无法调试基于JavaFX 11的Maven项目,该项目使用Eclipse IDE 2019-03(4.11.0)使用建议的here并在{{3 }}。
示例代码:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/home/me/project/gce/cloud_handler.py", line 163, in write_log
.execute(http=http)
File "/home/me/.local/lib/python3.5/site-
packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/home/me/.local/lib/python3.5/site-
packages/googleapiclient/http.py", line 851, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 400 when requesting
如果我在returned "field [name] has issue [Invalid project resource name]">
方法的第一行(分配了变量)上设置了一个 def write_log(self, record):
{...}
try:
print(type(self.client))
resp = self.client.projects().logs().entries().write(
projectsId=self.project_id,
logsId=self.logname,
body=body)\
.execute(http=http) #ERROR HAPPENS HERE
except Exception as e:
sys.stderr.write(e.message + '\n')
断点,则应用程序应该在该点停止运行。不会发生吗?而是继续运行该应用程序,就像断点不在那里一样。
建议related question并在here的底部附近找到解决方案,但是这两者都需要与question referenced above完全不同的启动方法。
在此先感谢您提供有用的提示!
答案 0 :(得分:0)
您可以通过将以下内容添加到pom.xml文件中来调试Javafx应用程序
--conf "spark.dynamicAllocation.enabled=false" \
此运行之后,执行具有目标的maven运行配置
清理javafx:run
在此之后您应该看到
收听地址为8001的运输dt_socket
在控制台中
这应该启动您的应用程序并在调试断点处停止
答案 1 :(得分:0)
我仍然不明白为什么人们使事情变得如此复杂。即使使用最新的JDK和JFX,通过创建运行配置在Eclipse中运行或调试程序的旧方法仍然可以发挥作用。 (我都使用15 EA)。只有两个简单的步骤。
在上面的示例文件的末尾添加以下代码行。这将使您完全忽略所有模块系统的废话。
...
class HowdyJFXLauncher {public static void main(String[] args) {HowdyJFX.main(args);}}
在Eclipse包资源管理器中选择类,然后右键单击它。在上下文菜单中选择“调试为”,然后在以下选项菜单中选择上面介绍的启动器而不是主程序,然后单击“确定”。这将照常在调试器中启动程序。这适用于没有任何插件或其他内容的Maven和Non-Maven程序。如果您有module-info.java,请将其删除。在这种情况下,您可能必须重新构建项目,以便正确设置类路径。
我每天都这样工作,并且总是想知道为什么人们把事情变得如此复杂。