2016-02-02 439 views
1

我正在使用maven彈簧集成測試運行Spring集成測試。我試圖運行調試端口啓用它,以便我可以從IntelliJ的想法附加到它。無法附加到使用調試器

用過去的工作下面的命令行。它用於允許萬無一失啓動時初始化,然後等待與測試,然後再繼續附加到8000端口:

-Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" -DtestIntegration test

但是這是現在讓我有以下異常:

[ ERROR]沒有在當前項目和插件組[com.zillow,org.apache.maven.plugins,org.codehaus.mojo]中找到前綴'runjdwp'的插件[local(/ home/ferozed /的.m2 /存儲庫-P4),關係(http://repo.zillow.local/content/groups/public)] - > [幫助1] org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException:沒有在當前項目和插件組[com.zillow,org.apache.maven.plugins,org.codehaus.mojo]中找到前綴'runjdwp'的插件[local(/home/ferozed/.m2) /存儲庫-P4),關係(http://repo.zillow.local/content/groups/public)] 在org.apache.maven.plugin.prefix.internal.DefaultPluginPrefixResolver.resolve(DefaultPluginPrefixResolver.java:93) 在org.apache.maven.lifecycle.internal.MojoDescriptorCreator.findPluginForPrefix(MojoDescriptorCreator的.java:260) 在org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(MojoDescriptorCreator.java:220) 在org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator.calculateTaskSegments(DefaultLifecycleTaskSegmentCalculator.java:106) 在org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator.calculateTaskSegm ents(DefaultLifecycleTaskSegmentCalculator.java:86) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:98) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)

任何想法如何讓這個工作?

回答

2

我記得前處理這個。您正在使用的調試選項可能已在您的Java版本中被棄用。 Java 5和使用下的-Xrunjdwp。我相信Java 7和以上(不確定約6,都使用?)使用agentlib:jdwp。我建議在SO上檢查這個答案。

https://stackoverflow.com/a/173447/50558

+0

謝謝。試過這個,但也有同樣的問題。 – feroze

0

無插件的方法(-Xrunjdwp,或-Xagentlib)爲我工作。

於是,我放棄了,並與-DforkMode =運行測試從來不是萬無一失的插件,這讓確保測試過程中的跑了Maven的執行。然後我可以重視這個過程。

我看過其他地方,這是不是安全的,因爲調用的類路徑可能會與測試的類路徑中共享,但我找不到任何其他方法,使我的方案的工作。

相關問題