Java 根据Maven中的给定条件添加依赖项

Java 根据Maven中的给定条件添加依赖项,java,maven-3,maven-dependency-plugin,Java,Maven 3,Maven Dependency Plugin,当我构建maven项目时,有没有一种方法可以根据给定的条件设置依赖关系 mvn package someCondition 因此,如果我说mvn安装A它应该添加一种依赖性,如果我说mvn安装B它应该添加另一种依赖性 请帮忙。多谢各位 另外,有没有办法通过创建多个配置文件来实现这一点?使用配置文件是最直接的方法 简而言之,考虑一下这样的事情: <project> ... <profiles> <profile> <id>

当我构建maven项目时,有没有一种方法可以根据给定的条件设置依赖关系

mvn package someCondition
因此,如果我说mvn安装A它应该添加一种依赖性,如果我说mvn安装B它应该添加另一种依赖性

请帮忙。多谢各位


另外,有没有办法通过创建多个配置文件来实现这一点?

使用配置文件是最直接的方法

简而言之,考虑一下这样的事情:

<project>
  ...
  <profiles>
    <profile>
      <id>profile-a</id>
      <dependencies>
        <dependency>
          // dependency 1
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>profile-b</id>
      <dependencies>
        <dependency>
          // dependency 2
        </dependency>
      </dependencies>
    </profile>
  <profiles>
</project>

...
剖面图a
//依赖项1
剖面图b
//依赖项2

然后您只需执行mvn安装-p profile-a,即可满足您的要求。

使用profile是最直接的方法

简而言之,考虑一下这样的事情:

<project>
  ...
  <profiles>
    <profile>
      <id>profile-a</id>
      <dependencies>
        <dependency>
          // dependency 1
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>profile-b</id>
      <dependencies>
        <dependency>
          // dependency 2
        </dependency>
      </dependencies>
    </profile>
  <profiles>
</project>

...
剖面图a
//依赖项1
剖面图b
//依赖项2

然后,您只需执行
mvn安装-p profile-a
即可满足您的要求。

假设我有一些常见的依赖项。因此,有一种方法可以在两个概要文件中都使用它们,而不是在两个概要文件中重复。在Maven中,没有直接的方法。您可能有一个包含共享依赖项的单独POM,并将该依赖项设置为该共享POM(可能使用导入范围)。然而,这并没有必要让故事变得更简单。然而,若它是在不同的概要文件中共享的,那个么为什么你们不把它放在项目的依赖项中呢?无论如何,这是一个不相关的讨论,如果你想知道如何处理它,可以问另一个问题。假设我有一些共同的依赖关系。因此,有一种方法可以在两个概要文件中都使用它们,而不是在两个概要文件中重复。在Maven中,没有直接的方法。您可能有一个包含共享依赖项的单独POM,并将该依赖项设置为该共享POM(可能使用导入范围)。然而,这并没有必要让故事变得更简单。然而,若它是在不同的概要文件中共享的,那个么为什么你们不把它放在项目的依赖项中呢?无论如何,这是一个无关的讨论,如果你想知道如何处理它,请问另一个问题。