3

Ubuntu 12.04 で Maven 3.0.4 を実行しています。Java バージョン 1.7.0_25 を使用しています。コマンドを使用しようとしていますmvn packageが、常に次のようなエラーが発生しています。

Failure executing javac, but could not parse the error:
javac: directory not found: /......../target/[some folder]

これがもともと何であるかを理解できませんでしたが、基本的なグーグル検索から、これは宛先ディレクトリが存在する必要があるためであることがわかりました。この問題を処理する一般的に推奨される方法は、それを実行する ant スクリプトを作成することです (私はそう思います)。

ただし、実際に作成する必要があるフォルダーはわかりません。これは私がコンパイルしているプロジェクトではなく、ダウンロードしたものです。Ant スクリプトはまだ使用できますか?もしそうなら、私はこれまで Ant スクリプトを使用したことがなく、ましてや作成したことはなく、正確に Ubuntu の「noob」と呼ぶことができるので、誰かが私を正しい方向に向けることができます!

要求に応じた完全な Maven 出力

ディレクトリは次のとおりです。

flume-sources - containing
    flume.conf
    pom.xml
    src
      main
        java
          com
            cloudera
              flume
                source
                  TwitterSource.java
                  TwitterSourceConstants.java

Maven エラーは次のとおりです。

andrew@andrew-VirtualBox:~/flume-sources$ mvn package
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building flume-sources 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.3:resources (default-resources) @ flume-sources ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/andrew/flume-sources/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ flume-sources ---
[INFO] Compiling 2 source files to /home/andrew/flume-sources/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] Failure executing javac, but could not parse the error:
javac: directory not found: /home/andrew/flume-sources/target/classes
Usage: javac <options> <source files>
use -help for a list of possible options

[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.470s
[INFO] Finished at: Mon Jul 08 12:35:58 BST 2013
[INFO] Final Memory: 9M/59M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project flume-sources: Compilation failure
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: directory not found: /home/andrew/flume-sources/target/classes
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help for a list of possible options
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
andrew@andrew-VirtualBox:~/flume-sources$ 
4

1 に答える 1

5

いいえ、手動または Ant スクリプトを使用してフォルダーを作成する必要はありません。

targetmvn を実行したときにフォルダーが存在しない場合は、フォルダーが作成されます

だから私の推測では、権限の問題があると思います

Maven を実行しているユーザーが /home/andrew/flume-sources にフォルダーを作成できない

テストとして、ルートとして mvn を実行します

 sudo mvn package

それが機能する場合、それは私が言ったことであり、1)chownmavenを実行しているユーザーがフォルダーを作成できるようにフォルダー(rw)または2)フォルダーを所有している同じユーザーからmvnを実行する必要があります(私は推測ですandrew

于 2013-07-08T20:10:52.330 に答える