我尝试使用Intellij远程调试liquibase项目的maven插件。问题是IDEA突出了错误的源代码行,我无法理解为什么。
我尝试调试的源代码不受影响。我从我在Intellij中使用的源代码中手动构建并安装了我的本地maven存储库中的插件。
我的Intellij版本为11.1.3
,maven版本为3.0.4
,在Ubuntu 12.04上运行。
为了调试maven插件,我使用了mvnDebug
命令。
如果有人对什么是错误有任何想法,请给我一些建议。如果您需要更多信息,请询问。我不太习惯远程调试(实际上这是我第二次这样做)所以我可能会删除你需要的一些信息。
答案 0 :(得分:13)
对我来说,每当IntelliJ突出显示错误的行时,总是因为用于运行应用程序的JAR /类的版本与我的源文件不同 - 即使用不同版本的源来构建JAR和/或上课。
您必须确保使用的是用于构建正在调试的类的确切源代码。
您可以通过查看用于启动应用程序的类路径,查找包含要调试的类的JAR文件或类目录,并验证它们是否是从您正在检查的源构建来验证这一点。
请注意,在调试第三方库时,通常可以下载“sources”jar(请参阅IntelliJ2-IDEA get Maven-2 to download source and documentation)。
答案 1 :(得分:3)
如果您偶然发现了这篇文章,并确定源代码和JAR是相同的代码,那么这可能是您的问题。
答案 2 :(得分:1)
您可以直接从IntelliJ运行插件,而不是进行远程调试。
pom.xml
,就可以在IntelliJ中加载liquibase插件项目。Edit Configurations...
Add New Configuration
。Maven
。
Working directory
。Command line
。可以是process-sources
,compile
或liquibase:status
,具体取决于您的目标。现在您可以按 Shift + F9 启动此配置。
Maven会启动,最后你会看到你的插件在断点处等待!
确保您已使用正确的版本在目标pom.xml
中定义了插件,并且在启动之前构建了插件。您可以通过在Make
窗格中启用Before Launch
来确保这一点。