2012-07-04 39 views
4

我有一個maven(3.0.4)多模塊構建項目,它在命令行完美工作。導入Maven項目到Eclipse 3.7(m2e 1.0)但src/main/java不顯示爲源包

mvn clean package 

構建成功。

我試圖把該項目導入到Eclipse

enter image description here

與M2E 1.0。

enter image description here

,但它已經準備好,我不能看到一個包文件夾,也不是SRC文件夾圖標(如的src/main/JAVA等)之後。

enter image description here

但我沒有料想到會看到類似以下內容:

enter image description here

是否有人可能是一個暗示什麼問題?或想法在哪裏尋找?

更新

沸騰下來之後,它可能會通過使用Java 1.7引起的。編譯器,我配置如下:

<pluginManagement> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
      <source>${maven.compiler.source}</source> 
      <target>${maven.compiler.target}</target> 
      <executable>C:/Programme/Java/jdk1.7.0_05/bin/javac</executable> 
      <fork>true</fork> 
      </configuration> 
     </plugin> 
     ... 

有人在這方面的經驗?

+0

正如我所看到的,由於某種原因,它沒有爲該項目設置Java特性(在其圖標中缺少J字母)。你有沒有嘗試'更新項目配置'?如果沒有幫助,請粘貼你的'pom.xml'。 –

+0

多次更新。還刪除了.project,.classpath,.settings文件夾,並在其他時間導入它。但沒有運氣。 – khmarbaise

+0

好吧,粘貼你的POM。我想看的是''和''部分。 –

回答

3

看起來您的項目沒有Java特性。您可以通過右鍵單擊該項目,並打算

屬性更改此 - >項目構面 - >轉換爲刻面的形式

從那裏,你可以添加Java方面,它應該做的工作。我經常會發現,用這種方法只需手動編輯Eclipse的.project.classpath文件(確保在執行操作之前先備份它們)。你可能會想檢查項目的.project文件包括這樣的事情:

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    ... 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
     <buildCommand> 
      <name>org.eclipse.m2e.core.maven2Builder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
     <nature>org.eclipse.m2e.core.maven2Nature</nature> 
    </natures> 
</projectDescription> 

然後確保你的.classpath看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    ... 
    <classpathentry kind="src" output="target/classes" path="src/main/java"/> 
    <classpathentry excluding="**" kind="src" path="src/main/resources"/> 
    <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/> 
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/> 
    <classpathentry kind="output" path="target/classes"/> 
</classpath> 

一旦你得到了這一切的東西準備好去更新你的項目配置,就像Michal說的和刷新一樣。

+0

。當您導入現有的Maven項目時,.project和.classpath是自動生成的,具有正確的性質。如果使用正確的方式導入maven項目,我沒有看到爲什麼它不正確地生成。 – yorkw

+0

根據我的經驗,情況並非總是如此,特別是在涉及Java以外的語言時。此外,如果你想在後面添加這些特性,例如,如果你有一個Maven項目並隨後添加Java代碼,我發現UI並不總是很出色。無論如何,仍然值得檢查這些文件以確保它們具有正確的條目,因爲它們是Eclipse將要查看的條目。 – Conan

0

在日食中,它可能指向JRE而不是JDK。 前往window->preference->java->Installed JRE。在這裏添加JDK,並將其設置爲默認值。 您可能需要重新啓動eclipse。

3

經過長期擺弄周圍我已經找到解決了這對我的問題:

我曾經爲我的配置引起的問題,Maven的編譯器插件(2.5.1)一個錯誤的生命週期映射。刪除它後,它按預期工作,不需要手動更改方面只是導入項目,它的工作原理。

+0

得到了同樣的問題,感謝您的建議 –

+2

請問有什麼不對嗎?我遇到了同樣的問題,但我沒有在我的項目中找到此插件的任何自定義生命週期映射。你的'pom.xml'代碼片段也不顯示任何!?謝謝! –

相關問題