我在寫我與Maven(here)的第一個項目。當我與mvn -Dtest=EchoTest test
運行測試,我得到一個構建失敗與的Java(行家):如何知道哪裏位於錯誤(無用回溯)
nonAcceptedTypeVerification(EchoTest) Time elapsed: 0.044 sec <<< ERROR!
java.lang.NullPointerException
at EchoTest.initialize(EchoTest.java:50)
我怎麼能知道更多的恰恰是線在我的代碼觸發NullPointerExcepion
?換句話說:如何讓Maven打印整個回溯?
我試過mvn -e
,並在target
子目錄搜索。
編輯
這裏是挑起的NullPointerException(在EchoText.java)行:
@Before
public void initialize() throws InterruptedException
{
system = new EchoActorSystem();
echo_actor = system.actorOf(); <-- line 50
}
的一點是,EchoActorSystem
是一個相當複雜的類和方法actorOf
使得萬噸工作,從system
調用許多功能。例如,它調用super.actorOf()
,然後修復結果的一些屬性,依此類推。 我通過添加很多Sysytem.out.println
來搜索錯誤的行,但我確定這不是正確的工作方式。
哼哼,不是嗎」 t'在EchoTest.initialize(EchoTest.java:50)'夠了嗎?但是如果你想混亂你的日誌,你可以做'mvn -X clean test'。 – Tunaki
EchoTest.java'線50'的內容添加到您的問題 –
這幾乎看起來像一個競爭條件,與一些其他線程的代碼,你的兩條線之間設置'system'爲null。這是整個'initialize()'方法嗎?每次使用maven運行時都會發生這種情況嗎?如果沒有Maven的情況下由JUnit運行,它會發生嗎? –