这是我的pom文件的一个片段。

....
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.4</version>                        
                <executions>
                    <execution>
                        <phase>install</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            ......
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
...

我成功地使用了这个命令

mvn install

但是,当我试图将它包含在“pluginManagement”标签中时,当我启动安装目标时,maven-dependency-plugin停止工作。 为什么“pluginManagement”标签会改变构建行为?或者我应该使用另一个目标或选项?

我在Bitbucket上有一个项目。只有源被提交。为了将项目检索到新机器上,我使用IntelliJ中的版本控制中的版本控制> Checkout。

然后它问我是否想从这个源创建一个新项目,我回答Yes。到目前为止,一切顺利。它为我创建了一个漂亮的小Java项目,由一个模块组成。

然而,我把这个项目引入IntelliJ的目标是把它变成一个Maven项目。我找不到任何地方可以让我这么做!

有没有办法让IntelliJ只为我生成一个基本的空pom.xml,其中包含名称、artifactId和存储库?或者,是否有一种方法可以首先将项目作为Maven项目导入?(每当我试图从现有的源代码创建一个项目时,它只给了我一个Java项目的选项。)

dependencyManagement和dependencies之间的区别是什么? 我在Apache Maven网站上看过文档。 在dependencyManagement下定义的依赖项似乎可以在其子模块中使用,而无需指定版本。

例如:

父项目(Pro-par)在dependencyManagement下定义了一个依赖项:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8</version>
    </dependency>
 </dependencies>
</dependencyManagement>

然后在Pro-par的子函数中,我可以使用junit:

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
  </dependency>
</dependencies>

但是,我想知道是否有必要在父pom中定义junit ?为什么不在需要的模块中直接定义它呢?