2011-10-04 211 views
288

我在Bitbucket上有一個項目。只有來源承諾。要將項目檢索到新機器上,我使用版本控制> IntelliJ內部版本控制的檢出。IntelliJ - 將Java項目/模塊轉換爲Maven項目/模塊

然後詢問我是否希望從該來源創建一個新項目,並向其回覆「是」。到現在爲止還挺好。它爲我創建了一個很好的小型Java項目,由一個單一模塊組成。

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

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

回答

578

右鍵單擊該模塊,選擇「添加框架支持...」,然後選中「Maven 「技術。

(這也創造了一個pom.xml爲您修改。)

如果你的意思是添加源庫元素,我認爲你需要做手工–不能確定。

Pre-IntelliJ 13這不會將項目轉換爲Maven Standard Directory Layout,13+。

+1

正是我一直在尋找!是的,我的意思是添加默認的maven2「中央」存儲庫元素。但我可以補充說,我自己,沒什麼大不了的。 –

+1

很酷。但是你不應該補充說明;它已經是默認了。 –

+0

啊,對了。 –

16
  1. 打開'Maven projects'(右側標籤)。
  2. 使用 '添加Maven項目'
  3. 找到你的pom.xml
29

視覺對於那些從中受益。

enter image description here

後右鍵點擊項目名稱(在本例中的「測試」),選擇「添加框架的支持」,並勾選「Maven的」選項。

+5

視覺非常方便 – Acewin

1

我想添加一個重要的提示,即轉換一個像這樣的項目可能會產生副作用,當您有一個更大的項目時,這些副作用是顯而易見的。這是由於以下事實的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> 

0

這個固定對我來說:在右側打開Maven項目選項卡。添加pom(如果尚未出現),然後單擊選項卡左上角的刷新。

0

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

我解決了這個問題通過執行右鍵單擊每個POM,然後在「添加爲Maven項目」