java - 什么是 org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAI

我有一个用 Eclipse 编写的 Java 代码库,我正在尝试在 IntelliJ 中使用它。 该代码库由大约 20 个 Java 包组成,这些包作为单独的项目彼此并排构建。 (大约有 20 个目录,每个目录包含一个 .classpath.project 文件。)它们相互依赖。大概一切都在 Eclipse 中构建得很好。

我让 IntelliJ 从 Eclipse 构建格式导入这些。除了 Project Settings -> Modules -> Dependencies 表明许多项目对 org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER 存在 Unresolved 依赖关系之外,它似乎大部分都有效。这似乎来自 .classpath 文件中的以下条目:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.nondependency" value=""/>
    </attributes>
</classpathentry>

具有这种依赖关系的包不会在 IntelliJ 中构建,因为它们无法解析对其他包的依赖关系。

我怀疑 org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER 是一些特定于 Eclipse 的诡计,不会转换为不同的 IDE,但我无法弄清楚这里到底发生了什么。

什么是org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER?我是否必须对使用它的构建环境做任何特别的事情才能使它在 Eclipse 之外工作?

IntelliJ Ultimate 2016.1.2、Java 1.8.0_91、OS X 10.11.5


我通过进入项目设置->模块并在我的各个项目之间手动添加模块依赖关系来解决这个问题,直到一切都建立起来。乏味但有效。

不过,我将把这个问题留在这里,因为 org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER 的简短定义仍然对我有帮助。

最佳答案

简介

IntelliJ IDEA Maven-2 插件将 Maven-2 集成到 IntelliJ IDEA。

首先,

第二,

第三,

与 Ant 插件类似,Maven-2 插件允许执行目标(或阶段)并将输出(带有错误突出显示)重定向到消息窗口。

安装

可通过 IDEA 内置插件管理器或直接从 IDEA 6.0(直到 1.1 版也适用于 IDEA 5.0)提供 {{ http://plugins.intellij.net/plugin/?id=1166 }}。

如果您下载了插件,只需将二进制存档的内容提取到您的 IDEA 插件目录中。 提取的文件夹 (idea-maven-plugin) 包含另一个文件夹 lib,所有 JAR 都驻留在其中。

用法

假设您已经指定了环境变量 JAVA_HOME 和 M2_HOME,插件应该可以在没有任何进一步配置的情况下运行。 如果未定义 JAVA_HOME,则插件使用内部 IDEA JDK。

如果未定义 M2_HOME,则必须在配置对话框中指定 Maven-2 的主目录。这是从插件版本 1.1 开始的更改。

Before version 1.1, Maven was called via the start script provided with the normal Maven installation. In order to get better access to the running Maven process Maven now is called directly by starting a Java process. This for example allows terminating the running Maven process by the user.

可以通过两种方式进行配置:

通过 IDE 设置或项目设置。 项目设置始终覆盖应用程序设置!

该插件不适用于 6.0 之前的 IDEA 版本! 该插件在 Windows 和 Linux 下进行了测试。它没有在 Mac OS X 下测试。

资源链接:

  1. Maven 2 Integration
  2. Import Maven dependencies in IntelliJ IDEA

关于java - 什么是 org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER 以及如何使它在 IntelliJ 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37624859/

相关文章:

android - 指示 Android Gradle 脚本删除未对齐的 apk 并清理 Artif

c - C语言的sublime text 2构建系统

objective-c - 显示应用的构建日期

javascript - 通过 grunt 任务更新 json 文件中的文件引用

build - 无法打开共享对象文件

.net - 有没有更好的方法将 native dll 复制到 bin 文件夹?

build - 如何在 VSTS/VSO Build vNext 中创建 Web 部署包?

tfs - 等待可用代理/等待请求代理

php - 在 ubuntu 上构建 php5.3.8,得到错误 : configure: erro

android - 使用-sdk :minSdkVersion 15 cannot be small