IntelliJ IDEA maven项目是否使用maven下载的JAR来解决依赖关系?
我使用IntelliJ IDEA和maven作为构建工具,在scala中编写spark应用程序 我将它们部署在Azure HDInsight集群中。我已经为Intellij安装了Azure插件 我使用事件集线器来传输数据,并在将数据写入存储器之前执行一些转换 我对spark、scala、Intellij和事件中心都是新手 我用两种不同的方式调试程序: 构建jar(使用mvn clean和mvn包),并使用spark submit向spark cluster提交应用程序 单击具有主要功能的对象左侧的小播放按钮以执行代码 我对maven的工作有相当的了解——我认为它可以将pom.xml中提到的依赖项放到某个本地位置用户的.m2文件夹中。在执行mvn包检查所有引用的库的语法时,将引用这些jar,然后构建应用程序的jar 我想了解IntelliJ IDEA在使用第二种方法运行时如何解决依赖关系IntelliJ IDEA maven项目是否使用maven下载的JAR来解决依赖关系?,maven,apache-spark,intellij-idea,dependencies,azure-eventhub,Maven,Apache Spark,Intellij Idea,Dependencies,Azure Eventhub,我使用IntelliJ IDEA和maven作为构建工具,在scala中编写spark应用程序 我将它们部署在Azure HDInsight集群中。我已经为Intellij安装了Azure插件 我使用事件集线器来传输数据,并在将数据写入存储器之前执行一些转换 我对spark、scala、Intellij和事件中心都是新手 我用两种不同的方式调试程序: 构建jar(使用mvn clean和mvn包),并使用spark submit向spark cluster提交应用程序 单击具有主要功能的对象左侧
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-eventhubs-spark_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
com.microsoft.azure
azure-eventhubs-spark_2.11
${spark.version}
我认为maven使用我的.m2文件夹和其中的JAR来构建项目,IntelliJ使用其他东西(可能是ivy)来解决其开发环境中的依赖关系。有人能帮我理解和解决这个问题吗
有没有办法告诉我 IntelliJ使用maven收集JAR,以便mvn包和IDE 环境使用相同的jar解析依赖关系 如果从现有源打开maven项目并选择build tool as maven Intellij自动理解依赖关系 有几种方法可以在IntelliJ IDEA中导入Maven项目。最标准的方法是直接打开
pom.xml
文件。您可以通过单击“打开”在欢迎屏幕中执行此操作:
通过这样做,将导入所有依赖项。intellij也在类路径中设置JAR
注意:如果您第一次打开项目,您必须给intelli j一些时间来编制索引
你也可以试试mvn idea:idea
,但我认为它已经退出了。
上面的命令将下载IntelliJ的项目插件。上面的命令还将创建项目文件(.ipr)、模块文件(.iml)和工作区文件(.iws)
最后,如果什么都不起作用
你喜欢这个吗
更新:
mvn依赖关系:分析
将给出依赖关系的完整列表
mvn depdency:tree
将所有直接依赖项和可传递依赖项显示为tree
参见嗨,它有用吗?如果您作为所有者很好,并且是的,这很有帮助,我可以导入所有依赖项。然而,我的问题是,即使在导入maven中提到的所有依赖项之后,我仍然会得到错误。这可能是因为IntelliJ引用的jar版本与我在pom.xml中指定的版本不同。无法弄清楚这是哪一个jar文件?无论您在pom.xml中提到什么,它都应该提到sametere可能是可传递的(直接的)依赖项,比如jar1依赖于jar1.1,但是在pom.xml中也提到了jar1.2。。。。如果是这样的话,你所说的一切都是可能的。在正常情况下,它应该将pom.xml中的所有JAR放入intellij classpathjar文件azure-eventhubs-spark_2.11中。当我在项目窗格中查看外部库时,版本匹配并且方法存在。但是,当我按住ctrl键并单击该类时,我需要反编译jar旧版本,而该方法不存在。