15

我尝试使用 Intellij 远程调试liquibase项目的 maven 插件。问题是 IDEA 突出显示了错误的源代码行,我不知道为什么。我尝试调试的源代码保持不变。我从我在 Intellij 中使用的源手动构建并安装了插件到我的本地 maven 存储库中。我的 Intellij 版本11.1.3和 maven 版本3.0.4在 Ubuntu 12.04 上运行。

为了调试我使用命令的 maven 插件mvnDebug。如果有人对出了什么问题有丝毫的想法,请给我一些建议。另外,如果您需要更多信息,请询问。我不太习惯远程调试(实际上这是我第二次这样做),所以我可能会漏掉一些你需要的信息。

4

3 回答 3

13

对我来说,每当 IntelliJ 突出显示错误的行时,总是因为用于运行应用程序的 JAR/类的版本与我的源文件不同 - 即不同版本的源用于构建 JAR 和/或类.

您将必须确保您使用的是用于构建您正在调试的类的确切源代码。

您可以通过查看用于启动应用程序的类路径、找到包含您正在调试的类的 JAR 文件或类目录并验证它们是从您正在检查的源构建的来验证这一点。

请注意,在调试第三方库时,通常可以下载“源”jar(参见IntelliJ2-IDEA 获取 Maven-2 以下载源和文档)。

于 2012-10-10T20:10:22.610 回答
3

如果你偶然发现了这篇文章,并且确定源代码和 JAR 是相同的代码,那么这可能是你的问题。

http://youtrack.jetbrains.com/issue/IDEA-8021

于 2013-06-15T22:31:07.407 回答
1

您可以直接从 IntelliJ 运行插件,而不是进行远程调试。

  1. 只需指向pom.xml.
  2. 选择Edit Configurations...
  3. 按下+按钮Add New Configuration
  4. 选择Maven在此处输入图像描述
  5. 输入Working directory要在其上运行插件的项目。
  6. 输入Command line. 可能是process-sourcescompile或者liquibase:status取决于你想要做什么。
  7. OK
  8. 在 Liquibase Mojo 中设置断点。

现在您可以按Shift+启动此配置F9

Maven 将启动,最后你会看到你的插件在断点处等待!


确保您已在目标pom.xml中使用正确的版本定义了插件,并且在启动插件之前构建了该插件。Make您可以通过在Before Launch窗格中启用来确保这一点。

在此处输入图像描述

于 2012-10-11T08:02:14.823 回答