IntelliJ-將Java項目/模塊轉換為Maven項目/模塊




intellij-idea pom.xml (4)

  1. 打開“Maven項目”(右側的選項卡)。
  2. 使用“添加Maven項目”
  3. 找到你的pom.xml

我有一個關於Bitbucket的項目。 只有來源承諾。 要將項目檢索到新機器上,我使用版本控制> IntelliJ內部版本控制的檢出。

然後它詢問我是否想從這個來源創建一個新項目,我回答是。 到現在為止還挺好。 它為我創建了一個很好的小型Java項目,由一個單一模塊組成。

不過,我把這個項目拉入IntelliJ的目標是將它變成一個Maven項目。 我無法找到任何可以讓我這樣做的選項!

有沒有辦法讓IntelliJ為我生成一個基本的空pom.xml,名稱和artifactId以及存儲庫? 或者,有沒有辦法將項目首先作為Maven項目導入? (每當我嘗試從現有源創建項目時,它只會給我一個Java項目的選項。)


一個從中受益的視覺。

右鍵單擊項目名稱(本例中為“test”)後,選擇“添加框架支持”並選中“Maven”選項。


我想添加一個重要的提示,即轉換一個像這樣的項目可能會產生副作用,當你有一個更大的項目時這些副作用是顯而易見的。 這是因為Intellij Idea(2017)僅從pom.xml中採取了一些重要設置,這會導致一些混淆,下面的部分至少受到影響:

  1. 模塊的註釋設置已更改
  2. 編譯器輸出路徑已更改為模塊
  3. 資源設置完全被忽略,只能從pom.xml中獲取
  4. 模塊相關性混亂,必須檢查
  5. 語言/編碼設置為模塊更改

所有這些點都需要審查和調整,但在此之後它就像魅力一樣。

更不幸的是沒有足夠的pom.xml模板創建,我添加了一個可能有助於解決大多數問題的例子。

<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>
<artifactId>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>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <annotationProcessors/>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>


我有一個不同的場景,但仍落在這個答案。
我導入了包含多個Maven項目的根項目文件夾,但也導入了此項目中使用的其他一些內容。
IntelliJ識別了Java文件,但沒有解決Maven的依賴關係。

我通過右鍵單擊每個pom然後“添加為maven項目”來解決此問題。





pom.xml