关于IntelliJ:IntelliJ – 将Java项目/模块转换为Maven项目/模块

IntelliJ - Convert a Java project/module into a Maven project/module

我有一个关于Bitbucket的项目。 只提交了来源。 为了将项目检索到新机器上,我在IntelliJ中使用了Version Control> Checkout from Version Control。

然后询问我是否要从此源创建一个新项目,我回复是。 到现在为止还挺好。 它为我创建了一个很好的小Java项目,由一个模块组成。

但是,我将此项目纳入IntelliJ的目标是将其转变为Maven项目。 我无法在任何地方找到任何可以让我这样做的选项!

有没有办法让IntelliJ为我生成一个基本的空pom.xml,具有名称和artifactId以及存储库? 或者,有没有办法将项目作为Maven项目导入? (每当我尝试从现有源创建项目时,它只给我一个Java项目的选项。)


右键单击该模块,选择"添加框架支持...",然后选中"Maven"技术。

(这也会创建一个pom.xml供您修改。)

如果您的意思是添加源存储库元素,我认为您需要手动执行此操作–不

在IntelliJ 13之前,这不会将项目转换为Maven标准目录布局,它将会是13+。


对于那些从中受益的人的视觉效果。

enter image description here

右键单击项目名称(在此示例中为"test")后,选择"Add framework support"并选中"Maven"选项。


  • 打开'Maven项目'(右侧标签)。
  • 使用'添加Maven项目'
  • 找到你的pom.xml

  • 我想添加一个重要的提示,即转换这样的项目会产生副作用,当你有一个更大的项目时,这些副作用是显而易见的。这是因为Intellij Idea(2017)仅从pom.xml中获取了一些重要的设置,这可能导致一些混乱,以下部分至少受到影响:

  • 更改模块的注释设置
  • 模块的编译器输出路径已更改
  • 资源设置完全被忽略,仅从pom.xml中获取
  • 模块依赖关系搞砸了,必须检查
  • 模块的语言/编码设置已更改
  • 所有这些要点都需要审查和调整,但在此之后它就像魅力一样。

    更不幸的是,没有创建足够的pom.xml模板,我添加了一个可能有助于解决大多数问题的示例。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>Name</groupId>
    Artifact</artifactId>
    <version>4.0</version>
    <properties>
        <!-- Generic properties -->
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
    <dependencies>
        <!--All dependencies to put here, including module dependencies-->
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <includes>
                    <include>*</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                   
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


    我有一个不同的场景,但仍然落在这个答案上。
    我导入了包含多个Maven项目的根项目文件夹,但也导入了此项目中使用的其他一些内容。
    IntelliJ识别了Java文件,但没有解析Maven依赖项。

    我通过右键单击每个pom然后"添加为maven项目"来修复此问题


    这为我修好了:右边打开maven项目标签。添加pom(如果尚未存在),然后单击选项卡左上角的"刷新"。


    我通过以下步骤解决了同样的问题:

  • 文件>关闭项目

  • 导入项目

  • 通过系统文件弹出窗口选择项目

  • 选中"从外部模型导入项目"单选按钮,然后选择Maven条目

  • 还有一些Next按钮(选择JDK,...)

  • 然后项目将作为Maven模块导入。


    最简单的方法是直接将项目添加为Maven项目。为此,在左侧的项目浏览器中,右键单击项目的POM文件,在上下文菜单的底部,您将看到一个名为"添加为Maven项目"的选项,单击它。这将自动将项目转换为Maven项目