如何确定使用哪个源文件进行调试?

时间:2015-06-29 09:08:18

标签: debugging intellij-idea

我正在调试一个有jar冲突的项目。同一个jar(工件)有多个版本。在运行时,只部署了一个版本,称为v3。当我在v3上的intellj设置一个断点时,它以某种方式启动了类文件的v2并且它停在了错误的行。

我有什么设置可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在运行时使用v3是否正确?如果是这样,确保IntelliJ使用相同的依赖关系应该相对容易 - 如果您使用像maven这样的构建工具,只需将<version>调整为v2,或者如果在IntelliJ中手动配置库,只需去进入项目结构,添加库v3(考虑删除库v2)并确保模块正确依赖它。

至于为什么会发生这种情况,在运行时,类加载器是&#34;发现&#34; v2之前或之外的v3版本。

要对此进行调试,您需要查看正在构建到项目中的任何其他依赖项和jar,以及运行时环境中可用的任何其他jar(例如,Web服务器&#34; common&#) 34;或&#34; lib&#34;文件夹,&#34;背书&#34;文件夹或目录,其他部署的应用程序等等。)

最后,如果您尚未使用mavengradle等构建工具,这可能有助于简化您的依赖项管理。