我试图将断点放入 GoogleAppEngine 源代码(SDK 1.7.0),但 IDEA Ultimate(11.0.2)一直告诉我Warning: No executable code found at line 482 in class com.google.appengine.api.memcache.AsyncMemcacheServiceImpl
.
当我从单元测试运行代码时以及启动开发服务器时,我都会收到此错误消息。
这很烦人。无论如何,我的源代码位于外部(相对于 IDEA 主目录和项目主目录)目录中,而我的 jar 文件位于 App Engine SDK lib 目录下。
我的 jar 文件作为项目库添加到模块中,并且我的源代码附加到该库。我也在尝试处理模块依赖项,但没有任何运气。最后,我决定将此库放入 Compile 范围,但这是一个坏主意,因为 SDK 在运行时提供这些 jar,因此我决定回退到 Provided 范围。
我还使用了模块依赖项选项卡上的导出复选框,但根据web help http://www.jetbrains.com/idea/webhelp/dependencies-tab.html,仅当您有依赖模块并且您希望使您的库在这些模块中可用时,导出才重要。
无论如何,这个问题出现了4年前 http://devnet.jetbrains.net/thread/276796还。所以我现在想知道这个问题真的那么难解决吗?
我现在非常失望。到目前为止我还没有遇到任何IDEA问题...我看到了这个问题引起其他人的注意 https://stackoverflow.com/questions/11199282/set-a-breakpoint-inside-a-library-jar-in-intellij同样,所以我想这并不是独一无二的。
任何帮助表示赞赏。
由于我的原因,我编辑了我的问题javap
下面的实验:似乎课程和来源是NOT不同步。我从 SVN 检查了 1.7.0 相关修订版,并且我使用的是 1.7.0 SDK,因此这些根本不应该不同步。
我遇到了类似的问题,并进行了各种尝试。下面是我常用的步骤:
- 如果您使用 Maven 依赖项,请转到 Maven 项目 -> 刷新
- 如果这不起作用,请尝试顶部菜单 --> 构建 --> 重建项目
- 如果仍然不起作用,请尝试顶部菜单 --> 文件 --> 无效缓存/重新启动
- 如果仍然不起作用,则 $CATALINA_BASE/bin/catalina.sh 停止,然后启动
在此之后,通常它可以解决 99% 的问题。否则,您可能必须检查其他一些可能性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)