我一直试图想出这一点,没有提出正确的方法。我仔细阅读了this question,我已经尝试过了,但它工作不正常..使用IntelliJ EAP 142.4675.3
我要做的是使用jar(扩展Provider类)文件来调试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不会打开源代码,但是,当我这样做时,它会看到它两次。
答案 0 :(得分:0)
所以让我们从头开始:
src
目录的项目: 32910506
目录并选择" New"然后"目录"并创建一个名为lib的新目录。 common-lang
),谨防复制,而不是移动:
src
,选择"新"," Java类",将其命名为App
:
App
类型psvm
中,然后点击 TAB 获取main
并填写如下:
random
,你应该最终得到方法来源:
random
方法中设置一个断点:使用:linux下的想法12.1.6