Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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
Java 在eclipse中,如何在类路径中找到类型的来源?_Java_Eclipse_Classpath - Fatal编程技术网

Java 在eclipse中,如何在类路径中找到类型的来源?

Java 在eclipse中,如何在类路径中找到类型的来源?,java,eclipse,classpath,Java,Eclipse,Classpath,也许我误解了什么,但是 我希望能够看到eclipse在构建项目B时从.jar(在类路径中的某个地方)获得Foo.class 如果我使用“打开类型”(Ctrl+Shift+T),它似乎只显示了我工作区中存在的所有Foo.class 非常感谢 编辑:我试图找到哪个jar将类引入到我的代码中。这不是我的罐子。我没有消息来源。因此,我无法打开它并单击它。我想要一个窗口,我可以输入一个类型名,比如'Foo.class',它告诉我类在我的类路径中被引入的位置。那一定很简单吧?理想情况下,它还会告诉我类路径中

也许我误解了什么,但是

我希望能够看到eclipse在构建项目B时从
.jar
(在
类路径中的某个地方)获得
Foo.class

如果我使用“打开类型”(Ctrl+Shift+T),它似乎只显示了我工作区中存在的所有
Foo.class

非常感谢

编辑:我试图找到哪个jar将类引入到我的代码中。这不是我的罐子。我没有消息来源。因此,我无法打开它并单击它。我想要一个窗口,我可以输入一个类型名,比如'Foo.class',它告诉我类在我的类路径中被引入的位置。那一定很简单吧?理想情况下,它还会告诉我类路径中的哪些事件被隐藏,因为它首先找到了第一个。这有意义吗?还是我在胡说八道

编辑:我想我没说清楚。我没有使用Foo的代码。这是在一些包含的开源库中的某个地方,有东西称之为Foo。所以我不能突出显示或右键单击任何内容。我想我可以写一段代码把它放进去?看起来有点笨重

  • 在项目中查找
    .classpath
    文件。
  • 在使用class
    Foo
    的地方,转到该语句,在按住Ctrl键的同时,左键单击类名。Eclipse将把您带到
    Foo
    class的位置。这将是eclipse在构建代码时引用的
    Foo
  • 在项目中查找
    .classpath
    文件。
  • 在使用class
    Foo
    的地方,转到该语句,在按住Ctrl键的同时,左键单击类名。Eclipse将把您带到
    Foo
    class的位置。这将是eclipse在构建代码时引用的
    Foo

  • 右键单击类名,然后选择“Open declaration”(或只按F3键),如果没有附加源代码,则可以在此时执行。在packageexplorer中,您具有“linkwitheditor”(一个带有两个来回箭头的按钮)功能,它将您重定向到类的jar。如果您没有源代码,您仍然可以使用“带编辑器的链接”功能查看Propitary jar

    右键单击类名,然后选择“打开声明”(或只需按F3),如果您没有附加源代码,您可以在此时执行此操作。在packageexplorer中,您具有“linkwitheditor”(一个带有两个来回箭头的按钮)功能,它将您重定向到类的jar。如果没有源代码,您仍然可以使用“带编辑器的链接”功能查看相应的jar

    替代解决方案:特别是如果您想知道需要类的jar文件,可以使用WINRAR进行搜索

    在WinRAR中使用查找


    您将在lib文件夹中的所有jar文件中看到所有名为ClassWriter.class的类。

    替代解决方案:特别是如果您想知道需要类的jar文件,可以使用WINRAR进行搜索

    在WinRAR中使用查找


    您将在lib文件夹中的所有jar文件中看到所有名为ClassWriter.class的类。

    由于似乎没有很好的解决方案或插件,我经常在项目的根目录中创建一个虚拟类:

    public class Find {
        public static void main(String[] args) {
            System.out.println(
                SomeClass.class.getProtectionDomain().getCodeSource().getLocation());
        }
    }
    

    然后我就删除了这个类。插件会很好:)

    因为似乎没有很好的解决方案或插件,我经常在我的项目根目录中创建一个虚拟类:

    public class Find {
        public static void main(String[] args) {
            System.out.println(
                SomeClass.class.getProtectionDomain().getCodeSource().getLocation());
        }
    }
    

    然后我就删除了这个类。一个插件会很好:)

    来这里寻找同样的插件,所以尽管这个问题已经有两年了:


    在eclipse Mars中,如果按shift+control+T/⇧+⌘+T在mac上打开“Open Type”对话框时,所选类的窗口底部会显示程序包以及jar文件的名称和路径。

    来这里寻找相同的内容,因此,尽管问题已经存在两年了:


    在eclipse Mars中,如果按shift+control+T/⇧+⌘+T在mac上打开“Open Type”对话框,所选类的包以及jar文件的名称和路径显示在窗口底部。

    在IntelliJ中,我只需将鼠标悬停在该类的选项卡上,它会在工具提示中告诉我。尝试一个更好的IDE。您正在寻找的类
    Foo
    存在于一些
    .jar
    中,您是否在代码中使用这个
    Foo
    类?不。但是我的代码在某个时候调用了它。此外,这个问题部分是假设性的。Java在某种程度上必须能够解析对类路径中任何类的任何引用,因为这就是它知道使用哪个类的方式。我只是想知道它是如何通过询问eclipse来解析类的。在IntelliJ中,我只是将鼠标悬停在类的选项卡上,它会在工具提示中告诉我。尝试一个更好的IDE。您正在寻找的类
    Foo
    存在于一些
    .jar
    中,您是否在代码中使用这个
    Foo
    类?不。但是我的代码在某个时候调用了它。此外,这个问题部分是假设性的。Java在某种程度上必须能够解析对类路径中任何类的任何引用,因为这就是它知道使用哪个类的方式。我只是想知道它是如何通过询问eclipse来解析类的。它能做到吗?@Bruce尝试选择2above@Bruce试试上面的选项2谢谢你的评论。我不知道班级在哪里。它只是在stacktrace中出现。有没有办法打开声明并键入类型名?您好@Bruce,所以您仅有的信息来自stacktrace。。。我试图重现这种行为,但我想我有我大部分图书馆的资料,我会继续尝试,但我有一个问题:你知道道具吗