当前位置: 首页 > 知识库问答 >
问题:

m2e不从概要文件导入依赖项

丌官昊天
2023-03-14

我已经提出了这个简化的测试用例,它是我在处理一个非常大的项目时遇到的问题。重要的一点是只有在特定的概要文件中激活一些代码及其依赖关系。下面是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并在“Dependencies”选项卡中观察它,就可以看到html" target="_blank">异常。默认情况下,commons-lang3 jar文件不会显示在那里。只有当我点击“显示继承的依赖项”按钮时,它才会出现前面的图标,可能表示它是“继承的”。

POM依赖项

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

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

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

共有1个答案

雷硕
2023-03-14

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

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

 类似资料:
  • 我正在创建一个实现IAnimal接口的Animal类。然后,Cats和Dogs类都实现了IAnimal接口。目前,我在IAnimal中只保留了3个简单的方法,以便进行简短的演示。主要类动物是通过依赖注入(DI)构建的。 当IAnimal有更多的方法时,例如:Cats类只实现SomethingOnlyCatsDo方法,Dogs类实现SomethingOnlyDogsDo方法,那么每个类内部都会有更多

  • 我正在构建一个JavaProject,这是一个项目的插件[加载在我的工作区中,并且是类型jar和范围编译的MaterialsDep的直接依赖项]。在eclipse中查看MaterialsDep的pom依赖层次结构,CB所需的所有jars都显示为已解析并正确列出。然而,在项目AP上运行只复制直接依赖项,而不复制其他内容。 运行依赖关系:树显示: 这是直接的依赖关系。 我应该如何确保的依赖关系被识别和

  • 我有一个多模块的项目,在其中一个模块,我包括依赖,一些是可见的,另一个没有;试着解释得更好: 在Utenti的项目中,我导入: 来自模块DataModelIbm 来自CommonResources:

  • 下面是我的spring项目中servlet-context.xml的代码。如果概要文件是prod,我想导入demo.xml文件,如果概要文件是test,我想导入demo-test.xml文件。 但是我得到错误对于行和对于 基于spring xml配置中与bean概要文件相关的错误,我甚至尝试将上下文更改为“http://www.springframework.org/schema/beans/sp

  • 我不得不重新安装Android Studio2.1.3,现在我出现了一些错误。我的一些进口品不见了。

  • 问题内容: 这就是在Android Studio中导入依赖项的方式。在这种情况下,okhttp: 我想导入我自己创建的依赖项。例如: 在这一点上,如果我学习如何创建依赖关系并在Android Studio项目中导入就足够了。 但是如果可能的话,我想将我的库托管在git(github)仓库中。太棒了 问题答案: 要实现它,您可以通过以下几种方法: 在中央Maven或Jcenter中发布您的库(工件)