2016-05-27 16 views
0

modulesparent pomに追加しています。親moduleと子moduleの両方が同じworkspaceにあるため、moduleのいずれかの依存関係を解決できました。 親は: C:/Workspace/Web/ProjectOne/parentです。 C:/Workspace/Web/ProjectOne/project1
C:/Workspace/Project/Servlet/project2
私はparent pomでパス../project1を提供project1については、buildが成功した:2つのつの子モジュールがでています。これは親と同じworkspaceを共有しているためです。しかし、別のフォルダにあるため、project2のパスを解決できません。私はパス../project2を追加しようとしましたが、パスは次のようになります:C:/Workspace/Web/ProjectOne/parent/../project2。なぜ私はこれらの2つの点がそのように見えるのか分かりません。私はそれが2つのフォルダでディレクトリを移動すると思った。したがって、パスが正しくないので、buildは失敗します。親モジュール内の子モジュールのパスを解決する

私は誰の助けにも感謝します。ありがとう。

答えて

0

C:/Workspace/Web/ProjectOne/parentからC:/Workspace/Project/Servlet/project2になるには、このパスを指定する必要があります。../../../Project/Servlet/project2

ただし、このようなプロジェクト分離を避けることをお勧めします。たとえば、あるSCMリポジトリにWeb/ProjectOne、別のSCMリポジトリにProject/Servletのすべてを保管しているとします。あなたはどのようにバージョン/リリースしますか?どのリポジトリにタグ付けしますか?このアプローチではあまりにも多くの合併症があります。お互いに近づけるほうがいいです。できない場合は、おそらくビルドのライフサイクルを分割し、それらのうちの1つを他のビルドの依存関係として単純に使用する必要があります。

+0

あなたはその道をどのように思いついたか説明していただけますかありがとうございます。 –

+0

@YogeshGhimireこれは、相対パスが[ほとんどのオペレーティングシステムではどのように動作するか](https://en.wikipedia.org/wiki/Path_%28computing%29#Absolute_and_relative_paths)です。 –

関連する問題