2015-05-06 132 views
2

我使用以下Maven命令創建一個新的Maven項目無法在Eclipse中打開一個新創建的Maven項目

mvn archetype:generate -DgroupId=com.company.lib_name -DartifactId=lib_name -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

當我在Eclipse中打開這個新建的項目它提供了以下錯誤:

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-jar- plugin:2.3.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-jar-plugin:jar:2.3.2 
Plugin org.apache.maven.plugins:maven-jar-plugin:2.3.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-jar-plugin:jar:2.3.2: Hostname cannot be null 

我試着日以下:

  1. 刪除的.m2目錄/存儲庫和重建項目
  2. 驗證了神器在Maven回購
  3. Maven的用戶設置指向正確的settings.xml
  4. 項目清理項目
  5. 強制更新n個項目
  6. 命令行
  7. 上存在編譯檢查回購看到所有的依賴關係被下載
  8. 更改eclipse使用外部maven而不是嵌入 另外我使用的是開普勒和Maven 3.

任何想法'主機名不能爲空'指向什麼?

這是POM內容

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.company.lib</groupId> 
    <artifactId>liby</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
<name>lib</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>1.7.0</version> 
     <scope>runtime</scope> 
     </dependency> 
     <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.0</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.14</version> 
    </dependency> 
    </dependencies> 
</project> 

而settings.xml中

<settings> 
<profiles> 
    <profile> 
     <id>Blah</id> 
     <repositories> 
      <repository> 
       <id>inhouse</id> 
       <url>http://mavenrepo/maven2_repositories/inhouse</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>true</enabled> 
       </snapshots> 
      </repository> 
      <repository> 
       <id>inhouse_snapshot</id> 
       <url>http://mavenrepo/maven2_repositories/inhouse_snapshot</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>true</enabled> 
       </snapshots> 
      </repository> 
     </repositories> 
     <pluginRepositories> 
      <pluginRepository> 
       <id>inhouse</id> 
       <url>http://mavenrepo/maven2_repositories/inhouse</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>true</enabled> 
       </snapshots> 
      </pluginRepository> 
      <pluginRepository> 
       <id>inhouse_snapshot</id> 
       <url>http://mavenrepo/maven2_repositories/inhouse_snapshot</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>true</enabled> 
       </snapshots> 
      </pluginRepository> 
     </pluginRepositories> 
    </profile> 
</profiles> 
<activeProfiles> 
    <activeProfile>company_name</activeProfile> 
</activeProfiles> 

<mirrors> 
    <mirror> 
     <id>central-to-nexus</id> 
     <mirrorOf>*</mirrorOf> 
     <url>http://mw_maven_repository_readonly/nexus/content/groups/cached</url> 
    </mirror> 
</mirrors> 

+0

我假設你在-DarchetypeArtifactId前有一個空格。 –

+0

你有沒有告訴日食有關你的回購?運行:mvn -Declipse。workspace = eclipse:add-maven-repo –

+0

您是否嘗試過-DinteractiveMode = true或者只是將該開關切斷?可能需要額外的輸入 – Vinny

回答

0

謝謝大家的答案。但問題出在Maven的回購網址上。

0

在命令提示:

MVN蝕:日食
MVN清潔安裝

這應該下載所有的依賴

+0

試過這個,沒有工作 –

1

看來你已經創建了從Maven的模板項目,但你沒有進口它在Eclipse之前,使這個項目作爲Eclipse項目。

因此,使用maven的命令,你也應該執行下面的命令來使項目作爲Eclipse項目

mvn eclipse:eclipse 

它會生成由Eclipse IDE中所需的所有項目文件創建一個新的Maven項目之後。

我還希望在導入Eclipse中的項目之前執行「mvn clean install」

+0

這沒有奏效。 –

+0

@ruby試試這個:從命令行執行「mvn eclipse:clean eclipse:eclipse clean install」命令,然後從eclipse中刷新項目。 – Bikku

+0

嗨arin,這似乎沒有工作要麼 –

相關問題