Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IntelliJ ctrl click引用的是.class文件而不是.java文件_Java_Intellij Idea - Fatal编程技术网

IntelliJ ctrl click引用的是.class文件而不是.java文件

IntelliJ ctrl click引用的是.class文件而不是.java文件,java,intellij-idea,Java,Intellij Idea,我在.groovy文件中有以下代码行用于测试: GenerateShipConfirmsForBatch gscb = new GenerateShipConfirmsForBatch(); Ctrl键单击GenerateShipConfigsforBatch会将我带到.jar中的GenerateShipConfigsforBatch.class,而不是.java文件,即使我在顶部正确导入了该类。我希望它引用.java文件,这样它就可以接收我对.java文件所做的更改 任何帮助都将不胜感激 仅

我在.groovy文件中有以下代码行用于测试:

GenerateShipConfirmsForBatch gscb = new GenerateShipConfirmsForBatch();
Ctrl键单击GenerateShipConfigsforBatch会将我带到.jar中的GenerateShipConfigsforBatch.class,而不是.java文件,即使我在顶部正确导入了该类。我希望它引用.java文件,这样它就可以接收我对.java文件所做的更改


任何帮助都将不胜感激

仅仅因为您在顶部导入了类,并不意味着您可以查看源代码(例如,
.java
文件)。如果此类来自
pom.xml
build.gradle
文件中定义的依赖项,则您可能无法查看源代码。但是,如果这是项目顶层的一个单独模块,则可以查看
.java
文件。如果这个库是开源的,那么我建议在您的项目中克隆它并将其添加为一个模块。这将解决您的问题。

您可以从以下位置安装Java反编译器IntelliJ插件:

它允许您在调试过程中显示所有Java源代码,即使您没有所有Java源代码 在我看来,您所写的似乎是在两个不同的包中或在导入的项目中,而不是在可打开的java类中,具有相同名称的类。导入类时,请小心导入要使用的类

注释类服务广泛应用于不同的包中

只需检查您是否使用了正确的导入

二次猜测-错误设置模块 如果您使用的是多模块应用程序,则必须正确设置父项目以正确解决此问题,同时也必须正确设置链接所在的子项目

Maven中,它是使用
pom.xml
完成的。这是一个非常好的地址

Gradle中,使用
build.Gradle
完成。你可以阅读更多关于它的内容


关于课程的基本知识 本地类 Idea优先链接本地
.java
文件,而不是
.class
,因此如果出现这种情况,我建议重新安装Idea,因为我找不到正确的方法

链接类(来自外部库) 如果您导入了外部库,它将链接到
.class
,因为它是从
.jar
文件反编译的


如果您使用的是
Maven项目
,您可以使用源代码下载
.jar
,单击
下载源代码和/或文档

因为您没有下载此repo的源代码,所以需要下载源代码。或者Intellij会将类文件反编译为源代码(我认为您可以在文件顶部看到一条警告),如果您要编辑此代码,
GenerateShipConfirmsForBatch.java
文件必须位于项目的一个源根目录中。您有权访问.java文件吗?请按照中的说明进行操作。
import org.springframework.stereotype.Service;
import com.google.web.bindery.requestfactory.shared.Service;