2017-12-01 15 views
-1

私はmavenプロジェクトを持っていて、共通のライブラリのために同僚のプロジェクトを2つ持っています。だからこそ、私はこれらの両方のプロジェクトを依存関係として私の中に入れたいのです。私は私のMavenプロジェクトをビルドしますが、私は常にエラーを取得Mavenビルドの失敗 - シンボル:、場所:

<dependency> 
    <groupId>com.xxx.xxx.Tooling</groupId> 
    <artifactId>KLUCommon</artifactId> 
    <version>0.0.10-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>com.xxx.xxx.ldap</groupId> 
    <artifactId>KLULdapAdapter</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
</dependency> 

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project XXXXX: Compilation failure 
[ERROR] /C:/Users/XXXX/Documents/workspace/XXXXX/src/main/java/com/xxx/xxx/ldap/Application.java:[19,38] cannot find symbol 
[ERROR] symbol: class ManagerDefs 
[ERROR] location: package com.xxx.Tooling.common.model 
[ERROR] -> [Help 1] 

それはどのような原因だろうか?私はこれを持って私のpom.xmlで

自分のプロジェクトで彼はプロジェクトを認識しているので、ビルドは機能していません。

答えて

1

pom.xmlファイル内のDependecyタグは、ビルド固有のアプリケーションにも必要なプロジェクトを示しています(parent projectとしましょう)。基本的には、そのプロジェクトも含まれているかどうかを確認するだけのチェッカーです。依存関係の成果物をダウンロードすることができます。実際には、それらは親プロジェクトのビルド段階のためにローカルリポジトリに存在しなければなりません。

独自の従属プロジェクトの場合、これらのプロジェクトを手動で構築しなければならず、ローカルリポジトリから成果物が利用可能になり、親プロジェクトが正常に構築されます。単に

Please notice that dependencies are not going to build when you initiate parent project build.

  • 実行mvn clean install私はsのないですmvn clean install

Update! I know it is also to possible make "one command build", but I cannot remember how it was, it is some thing about maven modules- please, follow maven doc and this thread(#27689425) or maybe there(#38882221)

+0

ところで、親プロジェクトの実行mvn clean install

  • KLULdapAdapterに実行
  • KLUCommonにクリーンであれば、すべてのキャッシュされた成果物をワイプすることができます – xxxvodnikxxx

  • +1

    キャッシュされた成果物は '$ HOME/.m2/repository'にあり、' mvn clean'を使用してクリーンアップされません。 'mvn clean'はプロジェクト内の' target'ディレクトリだけを削除します。 – khmarbaise

    +0

    ああ、はい! @khmarbaiseが正しいです、それはきれいなコマンドが動作する方法です:) 良い点 – xxxvodnikxxx

    0

    単に、ldap.jarのApplication.javaを見つけることができないと言っています。だから、これらの2つのプロジェクトが、最初にclean install mavenコマンドを使ってeclipseやnetbeansの同じワークスペースにビルドされていることを確認してから、最後にプロジェクトをビルドしてください。 また、実際に上記のプロジェクトにApplication.javaファイルがあることを確認してください。

    関連する問題