Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 如何访问IntelliJ插件中当前项目的依赖类?_Java_Maven_Plugins_Intellij Idea_Classpath - Fatal编程技术网

Java 如何访问IntelliJ插件中当前项目的依赖类?

Java 如何访问IntelliJ插件中当前项目的依赖类?,java,maven,plugins,intellij-idea,classpath,Java,Maven,Plugins,Intellij Idea,Classpath,我想通过当前项目的依赖项(Maven)访问一个类。就像在IDEA的代码窗口中访问类一样。 那么,可以从插件访问这样的类吗?目前,我可以访问所有项目数据和类,但不能访问外部依赖项。冒着不理解问题的风险,如果所讨论的类是Maven依赖项,并且IntelliJ已将依赖项放在类路径上,那么您只需导入该类即可使用它: import somepackage.ObjectUtil; ... ObjectUtil.save(); 但是,这种情况可能是依赖项不是必需的-如果它被列为true,或者如果它具有非编译

我想通过当前项目的依赖项(Maven)访问一个类。就像在IDEA的代码窗口中访问类一样。
那么,可以从插件访问这样的类吗?目前,我可以访问所有项目数据和类,但不能访问外部依赖项。

冒着不理解问题的风险,如果所讨论的类是Maven依赖项,并且IntelliJ已将依赖项放在类路径上,那么您只需导入该类即可使用它:

import somepackage.ObjectUtil;
...
ObjectUtil.save();

但是,这种情况可能是依赖项不是必需的-如果它被列为
true
,或者如果它具有非编译

您所说的“访问”是什么意思?您应该已经能够看到类的内容(已编译)。你想看代码吗?我必须使用它们。例如,在项目根框架中有一个类ObjectUtil,我希望能够在这里进行调用:ObjectUtil.save();此类不在当前项目中,而是在其依赖项中。您是否正在为IDEA编写自己的插件?是否要在依赖项中查找类,加载它并调用一些方法?使用
com.intellij.psi.search.GlobalSearchScope#moduleWithDependenciesAndLibraryScope
获取作用域,然后使用
com.intellij.psi.JavaPsiFacade#findClass
与此作用域一起使用。@Benny您已经通过导入Maven配置配置配置了IDEA项目,对吗?您可以检查依赖项是否显示在项目视图的“外部库”项下。您还可以打开“项目结构”窗口,在“模块”视图中选择您的模块,然后转到“依赖项”选项卡,查看依赖项是否正确显示在“编译”范围内。