2016-04-10 8 views
2

、私は以下のエラーを取得しています:Shopizerプロジェクトをビルドすることができません

[ERROR] Failed to execute goal on project sm-core: 
Could not resolve dependencies for project 
com.shopizer:sm-core:jar:2.0.3-SNAPSHOT: The following 
artifacts could not be resolved: com.shopizer:sm-core-model: 
jar:2.0.3-SNAPSHOT, com.shopizer:sm-core-modules:jar:2.0.3-SNAPSHOT: 
Failure to find com.shopizer:sm-core-model:jar:2.0.3-SNAPSHOT 
in http://maven.springframework.org/snapshot was 
cached in the local repository, resolution will not be 
reattempted until the update interval of 
org.springframework.maven.snapshot has elapsed or updates 
are forced -> [Help 1] 

どのように私はそれを解決することができますか?

答えて

4

Shopizerプロジェクトは実際にはmulti-module Maven projectです。これは、ルートがpom.xmlof packaging pomdeclares several <modules>であることを意味します。

のMavenプロジェクトそのものであるこれらのモジュールは、一般的にここにある場合、このルートフォルダの下にサブフォルダとして発見されています正確に4つのMavenのモジュールで4つのサブフォルダは、あります。これらのプロジェクトをコンパイルするには、ルートプロジェクト(この場合はshopizer)からMavenを呼び出す必要があります。

理由を聞かれるかもしれません。マルチモジュールのMavenプロジェクトでは、一般に相互依存関係があります.1つのモジュールは別のモジュールに依存しています。この場合、scm-coreモジュールを作成しようとしていますが、それはそのプロジェクトの2つのモジュールであるhas dependencies on both sm-core-model and sm-core-modulesです。だからあなたがそれを構築しているとき、Mavenはあなたのローカルリポジトリでそれらのアーティファクトを調べようとします。問題は、それが見つからないということです。 SNAPSHOTの依存関係を扱っているので、Mavenはパブリックリポジトリでもそれらを見つけられません。解決策はトッププロジェクトでビルドを開始することです:Mavenはリアクタを正しく注文し、scm-coreをビルドするときにそれらの依存関係が両方ともビルドされるようにします。簡単に言えば

:マルチモジュールMavenプロジェクトでは、あなたは事実上、常にMavenのは、ルートPOMからコマンドを呼び出す必要があります。

問題を解決するには、2.0.3 branch(最新ブランチ)をチェックアウトし、ルートPOMでmvn clean installを呼び出します。私はそれだけで成功しました。

+3

説明文WITH説明。最近はまれです、ありがとう! @ user1506424、私はあなたの元の問題を解決したと思いますか?私はあなたが受け入れをクリックし、新しい質問をすることをお勧めします! :-) –

関連する問題