Java 导入使用什么jar文件?

Java 导入使用什么jar文件?,java,eclipse,Java,Eclipse,我下载了一个示例代码,其中包含一些导入,例如: import com.sun.net.httpserver.HttpExchange; 我的构建路径中有相关的JAR,并且没有出现警告。但我怎么知道我从哪个罐子里确切地输入了上述内容呢?(我想知道这一点,这样我就可以将javadocs添加到那些jar中) 我使用EclipseIDE如果您使用的是EclipseIDE或IBMRAD、WSAD等,请在Eclipse窗口中按Ctrl+Shift+T。现在键入类文件的名称。它将显示包含的jar 例如:Ht

我下载了一个示例代码,其中包含一些导入,例如:

import com.sun.net.httpserver.HttpExchange;
我的构建路径中有相关的JAR,并且没有出现警告。但我怎么知道我从哪个罐子里确切地输入了上述内容呢?(我想知道这一点,这样我就可以将javadocs添加到那些jar中)


我使用EclipseIDE

如果您使用的是EclipseIDE或IBMRAD、WSAD等,请在Eclipse窗口中按Ctrl+Shift+T。现在键入类文件的名称。它将显示包含的jar

例如:HttpExchange存在于rt.jar中


在linux中,您可以使用shell脚本查看所有jar文件。类似这样的东西可能会帮助您:

for i in $(ls *.jar)
do
  unzip -l $i | sed -r "s/^[ 0-9:\-]+/$i /" | grep ".class" | tr '/' '.'
done
输出是一对(jar名称、类全名),例如:

Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.NewsCollection.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.NoColumnCollection.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.NoHeaderCollection.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.PanelInterface.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.ParentFinder.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.SelectionHelper.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.TabsInterface.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.TabsUtil.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.TagUtils.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.TreeviewInterface.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.util.WidgetUtils.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.workflow.LayoutPlugin.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor.class
Struts-Layout-1.2.jar fr.improve.struts.taglib.layout.WriteTag.class

您可以在此输出中搜索您的类以查找jar文件名。

查看mvn存储库有时会有所帮助。IDE是什么?大多数IDE都有方法通过双击来引导您学习这个类。这还显示了它来自于重复的jar,通常
com.sun
类是JDK的内部类。人们应该避免使用它们。它在其他JRE中肯定不可用,比如Linux或MacOSX上的OpenJDK。这里是一个借用的接口,可能用于http服务器设计。我没有看到jar,只有包,例如:com.sun.net.httpserver-[jdk1.7.0_60]@fatsokol,“jdk”行表示它是标准JVM库的一部分(com.sun名称空间也是如此,您几乎不应该显式使用它的类,因为它们不是平台的正式部分)。@fatsokol添加了一个屏幕截图。在eclipse中打开类文件。启用“与编辑器链接”按钮。因此,在这里您可以看到rt.jar中存在一个特性。同样,您也可以找到其他特性。