Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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-如何找出导入来自哪个Jar文件?_Java_Netbeans_Jar - Fatal编程技术网

Java-如何找出导入来自哪个Jar文件?

Java-如何找出导入来自哪个Jar文件?,java,netbeans,jar,Java,Netbeans,Jar,我正在处理的项目有大约10个jar文件作为库。在其中一个文件的顶部有一个导入语句,如: import jpe.nar.crat.maker.ObjectMakerFactory; 有没有办法知道它来自哪个Jar文件 如果有必要的话,我正在使用Netbeans。您可以使用它。可通过以下方式获取。反过来,可通过以下方式获得 您可以使用用于netbeans的。我不确定它是否仍然兼容,但值得一试。是以编程方式还是以交互方式 你可以试试。在Eclipse控件中,单击该项将显示编辑面板将显示源代码(如果已

我正在处理的项目有大约10个jar文件作为库。在其中一个文件的顶部有一个导入语句,如:

import jpe.nar.crat.maker.ObjectMakerFactory;
有没有办法知道它来自哪个Jar文件

如果有必要的话,我正在使用Netbeans。

您可以使用它。可通过以下方式获取。反过来,可通过以下方式获得


您可以使用用于netbeans的。我不确定它是否仍然兼容,但值得一试。

是以编程方式还是以交互方式

你可以试试。在Eclipse控件中,单击该项将显示编辑面板将显示源代码(如果已连接)或可用的方法,而Package Explorer将打开该类的树,如果Netbeans没有在类似的环境中运行,我会感到惊讶

我非常喜欢JFind:

。。。它通过查看jar、内部war、内部ear等递归工作

如果将java launcher包装在shell脚本中,并将其放在路径上,它将成为一个非常强大的工具:

即,要在jboss-6.0.0.20100429-M3目录中查找所有EntityManager类:

Cygwin中使用的小型外壳包装:

if [ $# -ne 2 ]
then
  echo "Usage: `basename $0` <classname> [<fromDir>]"
  exit 1
fi

echo Search String: $1
SEARCH_LOCATION=`cygpath -w $2`
echo Windows Search Location: $SEARCH_LOCATION

java -jar `cygpath -w $HOME/bin/JFind.jar` "$1" "$SEARCH_LOCATION"
echo

你试过在课堂上做“公开声明”吗?在Eclipse中,当您这样做时,它会打开一个窗口,显示jar的名称,并告诉您这个jar“没有源附件”。我希望类似的事情也会发生在NetBeans上

谢谢,
我的一位前同事汤姆写道。它是在一组JAR、ZIP和目录树中查找类的一个方便的小工具。

在Netbeans IDE中: 在代码中,按ctrl键选择类名。在编辑器中出现相关java文件后,如果您没有该类的源代码,它可能不会显示太多。在源窗口中的任意位置单击鼠标右键,然后选择“在项目中选择”。该类将在其来源的jar中突出显示


至少早在Netbeans 8.0就可以使用了。

在Eclipse中,只需按Ctrl键单击导入语句中的类名,然后右键单击.class代码,打开一个对话框,·并最终选择项目


在Eclipse中,执行“开放声明”。在项目资源管理器中,单击带有编辑器黄色双箭头按钮的链接。在编辑器中打开的类文件将自身映射到Project Explorer左侧的jar和包。
$ jfind.sh EntityManager ./jboss-6.0.0.20100429-M3
Search String: EntityManager
Windows Search Location: jboss-6.0.0.20100429-M3

....jjj.jjjjjjjjjjj
ClassName = javax/persistence/EntityManager.class
JarName = jboss-6.0.0.20100429-M3\client\hibernate-jpa-2.0-api.jar
----------------


jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
ClassName = org/apache/xerces/impl/XMLEntityManager.class
JarName = jboss-6.0.0.20100429-M3\client\xercesImpl.jar
----------------
if [ $# -ne 2 ]
then
  echo "Usage: `basename $0` <classname> [<fromDir>]"
  exit 1
fi

echo Search String: $1
SEARCH_LOCATION=`cygpath -w $2`
echo Windows Search Location: $SEARCH_LOCATION

java -jar `cygpath -w $HOME/bin/JFind.jar` "$1" "$SEARCH_LOCATION"
echo