当前位置: 首页 > 知识库问答 >
问题:

调试垂直。Eclipse内部的x-Maven-Projekt

锺离宸
2023-03-14

我目前正在使用maven在Eclipse中开发Vert. x应用程序。我做了Projekt-Setup,如下所述:http://vertx.io/maven_dev.html

一切进展顺利,项目成功构建,服务器通过maven启动配置以调试模式成功启动,目标是:package vertx:runMod

但是,如果我设置了一个断点,调试器会停在正确的位置,并向我显示正确的堆栈跟踪,但它不会向我显示源代码中的代码行。相反,它显示了臭名昭著的“源没有找到”-屏幕与“编辑源查找路径”-按钮。有趣的是,当断点在我自己的java文件中时,也会发生这种情况。我还可以通过STRG左键点击vert.x类来导航到例如vertx-core-2 . 0 . 0-final-sources . jar的源代码。这样做之后,我可以看到变量等的调试信息。像往常一样通过鼠标悬停。如果我再次双击堆栈,eclipse会再次变回“source not found”-screen-tab。

我还尝试在我的项目上运行maven的目标“clean eclipse:eclipse”,如这里所建议的:在IDE中运行Vertx,但没有成功。

我还尝试了这里的所有建议:Eclipse Maven debug-source not found,没有成功

我认为这与应用程序启动的方式有关。(通过vert.x容器maven目标之外的实例)

它的日食月神(4.4)与m2e插件版本。1.5 与专家 3.2.1 和 vert.x 2.1

任何帮助都会很棒。提前获得

共有1个答案

燕英奕
2023-03-14

至少我找到了如何调试自己的源文件。我只需要生成源代码。当通过maven目标安装时,我的项目的jar。我在<code>下向pom添加了以下内容:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

之后,我通过“编辑源查找路径”-按钮将此生成的源代码jar-file链接到我的调试器(这只能第一次完成)

这样做的缺点是,如果我更改了源文件中的一行,我必须通过maven -install重新构建整个项目,包括source.jar。如果我不这样做,调试器就会出现错误的行号。

我也不知道如何调试依赖JAR中的类。所以至少这个问题还没有解决。

 类似资料:
  • 我对Vert.x非常陌生,就像几天前一样。我来自一个JAX式的,安逸的世界。我可能大错特错,请指正。 我的问题是:如何使顶点公开自己的REST接口(子路由器),以及如何将其子路由器注册到应用程序的主路由器中? 我尝试过类似的东西,但是当我请求/产品/所有:( } }

  • 我正在尝试为Vert开发概念验证。一款简单的实时浏览器游戏。 让我们想象一个类似于在线扑克的游戏——你有一个大厅,里面有许多你可以加入的现有游戏。你也可以创建一个新游戏(所以大厅里的游戏数量是可变的)。在这之前,你有一个异步超文本传输协议服务器(集群),玩家可以连接到它。尤其是在特定的游戏中,一切都是实时的,所以当玩家执行某个操作时,其他人会立即看到它,而无需刷新或定期ajax轮询。 我在考虑如何

  • 我刚刚开始学习vert. x,对它是如何工作的仍然感兴趣...我在想: 当反应性非阻塞垂直线卸载到阻塞垂直线时,阻塞垂直线在工作线程上运行。 1.what事件循环线程,关闭加载的工作,在同一时间?从循环中获取另一个事件? 返回a结果时,同一事件循环是否继续执行?还是另一个? 1的答案是什么 我觉得我错过了一些基本的东西,关于事情实际上是如何工作的。谢谢你的帮助!

  • 问题内容: 编码: 如现在所呈现的,跨度与div的左下角对齐。 问题答案: 请参阅我关于理解垂直对齐的文章。在讨论的最后,有多种技术可以实现您想要的。 (超简短摘要:或者将子级的行高设置为等于容器的高度,或者将子级的高度设置为在容器上并将子级绝对定位为,其中YYY为子级已知高度的一半。)

  • 假设我有一个类似这样的竖线(有意简化以便于解释我的问题)。 现在想象一下,MyService是事件驱动的,当服务中发生某些事件时,我想停止顶点。 是否有人对Vert有更多经验。x知道如何做到这一点?或者,也许有人会给我一些建议,告诉我什么是正确的替代方法?

  • 我知道,在vert. x中,默认的版本将在每次我们不需要在处理程序中写入线程安全时运行在相同的事件循环中。 例如,如果我有一个运行HttpServer的版本- } 可以保证,在任何时候,我的请求处理程序都会在两个事件循环上被调用两次(针对2个不同的请求)。因此,我不必在请求处理程序中处理线程安全问题。 如果我运行多个HttpServer顶点实例- 我需要注意线程安全吗?多个请求处理程序(最大值=1