【问题标题】:m2e does not import dependency from profilem2e 不从配置文件导入依赖项
【发布时间】:2018-11-09 05:24:49
【问题描述】:

我提出了这个简化的测试用例,用于解决我正在从事的大型项目中遇到的问题。重要的是让一些代码及其依赖项仅在特定配置文件中激活。这是演示它的 POM 文件:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>mytest</groupId>
  <artifactId>project1</artifactId>
  <version>1.0</version>

  <properties>
    <src.dir>src/main/java</src.dir>
  </properties>
  <build>
    <sourceDirectory>${src.dir}</sourceDirectory>
  </build>

  <profiles>
    <profile>
      <id>fox</id>
      <properties>
        <src.dir>src/fox/java</src.dir>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
          <version>3.8.1</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>

在相对于 POM 的目录 src/fox/java/project1 中,我使用来自 pom 的 jar 依赖项获得了这个简单的类:

package project1;
import org.apache.commons.lang3.BooleanUtils;
public class C1 {
    public static void main(String[] args) {
        System.out.println(BooleanUtils.isTrue(Boolean.FALSE));
    }
}

我可以用这个命令毫无问题地构建上述项目:

mvn -Pfox package

但我不知道如何正确地将这个 Maven 项目导入 Eclipse。如果我在 Eclipse 中打开它的 POM 并在“依赖项”选项卡中观察它,可以看到异常。默认情况下,commons-lang3 jar 文件不在那里显示。只有当我点击“显示继承的依赖项”按钮时,它才会在它前面出现一个图标,大概表示它是“继承的”。

POM dependencies

但我不明白它可以从哪里“继承”。如果我不使用配置文件,我还想将它显示为“正常”依赖项。

我确实在导入时指定了配置文件“fox”,并确认它已在 Eclipse 中被选中。我还尝试了 Eclipse 中的“更新项目”选项,但没有任何区别。

如果不是我遇到的更大问题的症状,这本身不会打扰我。在我们的应用程序中,示例中的项目是另一个使用 WAR 打包的项目的依赖项。而当这样的项目部署到在Eclipse下运行的Tomcat时,图中的jar不包含在部署描述中,应用程序自然不会运行。

【问题讨论】:

    标签: eclipse maven profile m2e


    【解决方案1】:

    依赖项中的配置文件未激活

    https://issues.apache.org/jira/browse/MNG-1388

    【讨论】:

    • 谢谢,这个问题可能解释了我真正的问题。我仍然对 m2e 插件的行为及其对依赖项的“继承”指定感到困惑,但正如我所提到的,它是次要的。
    猜你喜欢
    • 2020-06-17
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    相关资源
    最近更新 更多