当前位置: 首页 > 面试题库 >

轻量级的Eclipse-Maven集成-仅依赖管理?

都乐逸
2023-03-14
问题内容

根据我的经验,Maven在小型/实验性应用程序中常常是过大的。但是,依赖管理是Maven的一项非常有用的功能,实际上是唯一对上述应用程序类型真正有用的功能。

我想知道是否可以有一个 非常最小的轻量级 Eclipse-Maven集成,该集成 仅以 最简单的方式
将Maven依赖项添加到Eclipse项目类路径中。

特别是我不想:

  • 适用于任何Maven约定(包括项目布局召集人)
  • 安装并使用任何特定的Eclipse插件(Eclipse完全不应该知道它是“ Maven项目”,并以任何特殊方式对其进行处理)
  • 除了将其用作轻量级jar /库下载程序以外,还以其他任何方式依赖/绑定到Maven。

我的第一个(也是唯一一个)想法是从命令行使用Eclipse Maven插件来管理项目类路径。但是默认情况下,此插件的作用不止于此(设置默认的Maven项目布局,管理构建器)。我可以限制此插件仅执行我想要的吗?

还是可以通过其他方式达到我描述的目标?


问题答案:

我找到了一个非常适合我所描述的需求/用例的解决方案

1.我在Eclipse项目根目录中创建了非常小的pom文件

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sobczyk.piotr</groupId>
    <artifactId>mvn-eclipse-test</artifactId>
    <version>1.0.0</version>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <outputDirectory>bin</outputDirectory>
    </build>

    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
    </dependencies>
</project>

该.pom文件包含三个部分:

  • 所需的Maven资料,即。modelVersion和GAV
  • buildMaven的默认源和输出目录部分,并被覆盖以模仿Eclipse环境(这是有关限制maven-eclipse-plugin行为的问题部分的答案,某些其他eclipse:诸如buildcommands更复杂情况下的eclipse目标选项可能有用)
  • dependencies 部分列出了我需要在项目类路径上具有的依赖项

2.从命令行中,我调用了以下命令:

mvn eclipse:configure-workspace -Declipse.workspace=C:/myworkspace
cd C:/myworkspace/myproject
mvn eclipse:eclipse

3.每次我想从Maven文件更新Eclipse项目类路径时,我都可以做以下两件事之一:

  • 从命令行调用最后两行
  • 将mvn eclipse:eclipse绑定到Eclipse 外部工具配置并单击即可调用


 类似资料:
  • 我们使用base ClearCase作为源代码管理工具。当从源集成时,如何实现依赖管理?在ClearCase中,我想这需要设置配置规范来选择所有所需文件的所需版本。有什么工具可以实现这一点吗?

  • 我当前设置中最麻烦的部分是由于Tycho显然无法处理只使用Maven(即非OSGi)的工件。我当前的设置如下所示: > 在每个Eclipse插件的中,我在阶段向发出目标。这将把我指定的工件解压缩到单独的目录中。 目录作为输出目录添加到中,以便Tycho在编译时将其添加到类路径中: 这些设置允许Maven指令编译插件。从VCS导入项目,并手动指定目录作为Eclipse中的类文件夹,这样IDE也可以编

  • 最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个

  • 项目A的pom是一个简单的pom: 项目B的pom: 在本例中,project B的spring-boot版本是2.0.3.release。 此作用域仅在区段中pom类型的依赖项上受支持。它指示要用指定POM区段中的有效依赖项列表替换的依赖项。由于它们被替换,具有导入范围的依赖项实际上并不参与限制依赖项的传递性。

  • 我正在尝试解决我的eclipse项目中的maven依赖项。 依赖项已经下载到我的maven dependencies文件夹中(如下所示) 然而,import语句仍然没有解析。 在我的java构建路径中,存在Maven Dependencies文件夹。 到目前为止,我已经尝试在命令行上重建项目并在eclipse中刷新它;我尝试在eclipse中重建它;我尝试在eclipse中更新项目。 似乎什么都没