2017-04-05 14 views
1

コアモジュール(app-core)を使用するapp-serviceという名前のプロジェクトを作成しました。プロジェクトベースディレクトリにある<systemPath>を介して、このコアモジュールをプロジェクトに追加します。ローカルモジュールのアーティファクト(ライブラリ)を使用してmavenビルド

<dependency> 
    <groupId>app-group</groupId> 
    <artifactId>app-core</artifactId> 
    <version>${project.version}</version> 
    <scope>system</scope> 
    <systemPath>${project.basedir}/app-core-0.1.1-SNAPSHOT.jar</systemPath> 
</dependency> 

私はBUILD SUCCESS$CLASSPATHは、アプリ-core.jarファイルが含まれている。このことは、Mavenの<dependencies>

Iに記載されているすべての依存関係を含め期待していないMavenと走行目標

mvn clean package install 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 44.733 s 
[INFO] Finished at: 2017-04-05T12:27:46+05:30 
[INFO] Final Memory: 29M/533M 
[INFO] ------------------------------------------------------------------------ 

後の設定しますこのアプリケーションコアモジュールをcompileスコープとして使用します。私はこのそれプロンプトのエラーをしてみてください

[ERROR] 'dependencies.dependency.systemPath' for app-group:app-core:jar must be omitted. This field may only be specified for a dependency with system scope. @ line 71, column 25 

注:私はセキュリティ上の目的のために公開リポジトリにこのapp-coreをアップロードしないでください。私はHerokuに同じものを配備する必要があるので、プロジェクトのベースディレクトリから使いたいです。


更新

私はそれをGoogleで検索し、ローカルリポジトリをインストールするプラグインを見つけました。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-install-plugin</artifactId> 
    <version>2.5.2</version> 
    <executions> 
     <execution> 
      <id>install-external</id> 
      <phase>clean</phase> 
      <configuration> 
       <file>${project.basedir}/app-core-0.1.1-SNAPSHOT.jar</file> 
       <repositoryLayout>default</repositoryLayout> 
       <groupId>app-group</groupId> 
       <artifactId>app-core</artifactId> 
       <version>${project.version}</version> 
       <packaging>jar</packaging> 
       <generatePom>true</generatePom> 
      </configuration> 
      <goals> 
       <goal>install-file</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

しかし、結果は同じである......

答えて

0

私はエラーがどのようにセットアップあなたの依存関係の部分を削除することを言っていると思います。

<systemPath>${project.basedir}</systemPath> 

..andそこから作業: のようなその一部を省略してください。

編集:

私はまた、最も限られた量の情報を試します。

<dependency> 
    <groupId>app-group</groupId> 
    <artifactId>app-core</artifactId> 
    <version>${project.version}</version> 
</dependency> 

プロジェクトのバージョンを変更してみてください。私は、pom.xmlが正しく書かれていないため、リポジトリから取得しないmaven依存関係に問題がありました。私がそれらを解決する方法は、それが実際にそれを正しく引っ張るまで依存関係を書くさまざまな方法を試し続けていくことでした。

+0

ありがとう:

<repository> <id>project.local</id> <name>project</name> <url>file:${project.basedir}/repo</url> </repository> 

は、それから私、あなたのpom.xml依存関係を使用します。私は同じことを試みましたが、エラーが発生してビルドに失敗しました 'プロジェクトapp-group:app-services:jar:0.11-SNAPSHOT:app-group:app-core:jar:0.1.1-SNAPSHOT in < my_repository_url> 'となります。私のアプリケーションコードがどこにあるかは私のローカルプロジェクトフォルダでは検索されません。 – eigenharsha

1

このガイドは、HerokuのAdding Unmanaged Dependencies to a Maven Projectに従ってください。ガイドを要約すると、実行します。

mvn deploy:deploy-file -Durl=file:///path/to/app-group/app-core/ -Dfile=app-core-1.0.jar -DgroupId=app-group -DartifactId=app-core -Dpackaging=jar -Dversion=1.0 

は、その後、あなたのpom.xmlにこのリポジトリを追加します。答えを

<dependency> 
    <groupId>app-group</groupId> 
    <artifactId>app-core</artifactId> 
    <version>1.0</version> 
</dependency> 
+0

答えをありがとう。私は同じことを試みましたが、エラーが発生してビルドに失敗しました 'プロジェクトapp-group:app-services:jar:0.11-SNAPSHOT:app-group:app-core:jar:0.1.1-SNAPSHOT in < my_repository_url>。 私のリポジトリには2つのリポジトリがあります。内部の中央リポジトリと、URLが「」の別のリポジトリがあります。$ {project.basedir}/ eigenharsha

+0

私のアプリケーションコアをインストールするためのプラグインを使用しました。 maven-install-plugin' – eigenharsha

関連する問題