我一直在試圖找出這一點,沒有提出正確的方法。我通過this question,我已經嘗試過,但它不工作很正確..使用IntelliJ EAP 142.4675.3正確的方法來配置IntelliJ使用反編譯罐子的源代碼
我想要做的是調試使用jar的junit測試(擴展提供程序類)文件我已經放入JAVA_HOME \ jre \ lib \ ext。我希望那個jar也是可調試的。
問題是,如果我將源目錄作爲jar的源代碼,那麼在堆棧跟蹤中,當我單擊指定文件(包含我希望查看的方法)時,IntelliJ會要求我在兩個相同的文件,大概是因爲它知道源代碼(它在我的項目中的一個模塊中),它也通過我添加的jar源路徑告訴源代碼。
我試着將provider.jar添加到項目模塊依賴性選項卡,這導致intellij無法結束。恢復到jre \ lib \ ext中,並在Platform Settings-> SDKs-> 1.8-> Sourcepath選項卡中添加模塊源路徑。這可以讓intellij進入jar的.java文件,而不是.class文件,但是,當它這樣做時,我現在在代碼窗口的頂部看到一個標題爲「可用於類xxx的替代源」的橫幅和在RHS上有一個組合框,模塊名稱列出了兩次(在最新的EAP中,它實際上列出了模塊和jar [與模塊同名,帶有.jar])。而且,如前所述,當我單擊堆棧跟蹤中的一個文件時,IDE會詢問我想要編輯哪個(同一個)文件。
顯然,有一些不太正確的..我錯過了什麼?我覺得奇怪的是,ide在進入jar之前不會打開源代碼,直到我將上面的代碼附加到代碼中,但是當我這樣做時,它會看到它兩次。
https://www.jetbrains.com/idea/help/dependencies-tab.html值得一讀,我想。另請參閱https://www.jetbrains.com/idea/help/configuring-module-dependencies-and-libraries.html –
第一個鏈接幾乎總結了q鏈接中的答案...第二個,真的偷東西。我從jre \ lib \ ext目錄中刪除了jar,然後通過運行時範圍的依賴關係選項卡添加了一個副本。現在,在運行junit測試時,intellij抱怨它無法驗證出\ production \ blahblah中的jar。 – Jon