2015-04-06 62 views
-1

中的IntelliJ像這樣一個maven項目立項後.. enter image description hereMaven項目給錯誤

設置我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>com.yourcompany.test</groupId> 
    <artifactId>jreddit-testing</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>jreddit-testing</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 


    <dependencies> 
     <dependency> 
      <groupId>com.github.jreddit</groupId> 
      <artifactId>jreddit</artifactId> 
      <version>1.0.2</version> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    </project> 

當我運行sudo mvn clean install它安裝一切都沒有錯誤。

在運行的項目,我得到的錯誤..

Error:java: directory not found: 
/Users/stingRay/Documents/workspace/jreddit/target/generated-sources/annotations 
+0

你在哪裏調用'sudo mvn clean install'?是否存在'/ Users/stingRay/Documents/workspace/jreddit /'? –

+1

不使用sudo執行mvn命令。它可能已經爲root用戶創建了目標文件夾,因此對於其他進程是不可讀的? – wemu

+0

@KarlRichter是該文件夾存在,我在jreddit文件夾中調用它。 – stringRay2014

回答

0

不知道這是否會解決你的問題,但該意見沒有足夠的空間:)

我要說的環境變量只是沒有正確配置。我建議不要使用sudo和maven。如果一切配置正確,則根本沒有必要。

行家的下載頁面中包含的指令做什麼:http://maven.apache.org/download.cgi(向下滾動)

簡而言之:

  • 下載Java開發工具包(我不使用不從Linux的數據包管理器爲此,防止root用戶不小心執行Java命令或運行服務器)。看起來你正在使用MacOS?所以從oracle下載dmg文件。
  • 下載Maven壓縮包並將其解壓縮(它也可以在共享的目錄中,以便系統上的每個用戶都可讀)
  • 重要部分:設置環境變量。您必須設置JAVA_HOME,M2_HOME,可選MVN_OPTS和PATH以方便 - 因此「mvn」在沒有sudo的情況下在您的終端中運行。

有指導您完成這一點,像這樣一個在網絡上的教程:http://bitbybitblog.com/environment-variables-mac/

如果你用的IntelliJ或終端工作.bash_profile文件是不夠的。編輯.plist文件僅適用於OSX內部工具。在IntelliJ中,一旦設置了M2_HOME變量(如果我沒有記錯的話),IntelliJ會重新啓動。

請注意,您可能需要清理已經存在的文件(以確保您的用戶可以在沒有sudo的情況下編寫它們)。含義:

  • /用戶/黃貂魚/文件/工作區/ jreddit /目標/
  • /Users/stingRay/.m2/repository(或在本地Maven回購所在地)

希望這將工作:)