Intellij IDEA Maven 插件 - 管理依赖项

Posted

技术标签:

【中文标题】Intellij IDEA Maven 插件 - 管理依赖项【英文标题】:Intellij IDEA Maven Plugin - Manage Dependencies 【发布时间】:2015-12-04 12:18:49 【问题描述】:

我是 IntelliJ 和 Maven 的新手,并尝试了一下。我通过“项目结构”窗口中的模块和项目结构设置导入了一些库(见下面的截图),因为我认为我必须在这里添加我的依赖项。我还认为这会自动创建带有依赖项列表的 pom.xml,但事实并非如此!我必须通过以下步骤添加我的依赖项:

Open the pom.xml file > Menu "Code" > "Generate" > Popup "Dependency"

或通过

Alt + 插入

项目结构窗口:

要导出我所有的库,我还必须在 pom.xml 中添加一个插件:

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>your.package.MainClass</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>

       [...]

    </dependency>
</dependencies>

并通过运行配置将目标设置为

clean compile assembly:single package

这让我在运行两个 jars 时产生了:

test-1.0-SNAPSHOT.jar & test-1.0-SNAPSHOT-jar-with-dependencies.jar

对于初学者来说有很多事情要做!我现在的问题是:有没有更短的方法来管理项目的依赖关系?项目结构设置到底是为了什么(在依赖管理的情况下)???是我做的太多还是做错了什么?

PS:对于所有刚接触 Maven 和 IntelliJ 的人,请参阅 https://www.jetbrains.com/idea/help/maven.html

【问题讨论】:

我总是直接在 pom.xml 文件中添加依赖。我猜我只是不太信任 Intellij 是的,这也是我的真实想法......作为一个初学者,我看起来很奇怪,我可以在那里添加一些依赖项,但是这些设置不会对 pom.xml 文件产生影响,正如@Kuroro 所说... 【参考方案1】:

如果你使用 maven,你只需要在 pom.xml 中添加你的依赖项。

你也可以使用

Open the pom.xml file > Menu "Code" > "Generate" > Popup "Dependency"

如你所愿。 InteliJ 会自动将其添加到项目的类路径中。

例如,当您有子模块时使用项目结构。这里不是加jar的。

【讨论】:

但是为什么我可以在那里添加依赖项?并将其范围设置为提供/编译等... 因为“项目结构模块”没有做添加maven jar。它在这里用于配置每个模块(也就是 eclipse 中的项目)。为了添加 Maven 依赖项,您必须将其添加到您的 pom.xml(从头开始或使用菜单代码)。您还可以使用 在 pom.xml 中指定范围。顺便说一下 pom.xml 中有自动完成功能 感谢您的快速答复!那么我是否理解正确,“项目结构”是用来管理项目应该“知道”的库,但与库在通过 maven 创建 jar 时的导出无关? “项目结构”可用于管理库,但不能用于 maven 项目。在 maven 项目中,库由 pom.xml 管理。事实上,如果没有 maven,您将不得不在“项目结构”上添加 jar,但这是一种老派的方式;) 感谢您的澄清 :-)

以上是关于Intellij IDEA Maven 插件 - 管理依赖项的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA——利用maven插件构建web工程

Intellij IDEA Maven 插件 - 管理依赖项

IntelliJ IDEA里面怎么配置SVN

如何在IntelliJ IDEA上 添加GIT和Maven,mybatis插件

如何在IntelliJ IDEA上 添加GIT和Maven,mybatis插件

如何在IntelliJ IDEA上 添加GIT和Maven,mybatis插件