2015-04-06 106 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回购所在地)

希望这将工作:)