2017-06-26 5 views
1

ソナーの問題を解決するための助けが必要です。私たちは、パブリックリポジトリには存在しないサードパーティ製のジャーを使用しています。 私のようにその依存関係を定義した:依存スコープシステムのソナー違反

 <dependency> 
      <groupId>api</groupId> 
      <artifactId>api</artifactId> 
      <scope>system</scope> 
      <version>1.0</version> 
      <systemPath>${project.basedir}\lib\api-1.0.jar</systemPath> 
     </dependency> 

しかし、ソナーは、メッセージ

アップデートとそのための重要な違反にこの範囲を与え、「systemPath」を削除しています。

パブリックリポジトリに存在しないサードパーティ製のjarファイルをmavenに追加する正しい方法は何ですか?

+2

私はこの特定の問題を解決する方法がわかりませんが、sonarqubeが問題を提起したときに、それが悪い理由と解決方法に関する詳細情報を提供します。余分な情報にアクセスするためのオプションがUIになければなりません。 – jspurim

+0

私はsonarqubeから提供された情報を見ましたが、問題とその理由を説明するだけではありません。それを解決するために使用できる代替方法はありません。 – user2451099

答えて

1

通常のMavenの依存関係としてライブラリあなたを使用することができます。これにより、リモートリポジトリからフェイルされることなく、mavenがそのjarを持つことができます。

次に、スコープをsystemと指定する必要はありません。

+0

ローカルリポジトリにjarをインストールし、問題を解決しました。 – user2451099

3

あなたはnexus repository managerまたはartifactoryを使用して、そこに自分の依存関係を展開するmaven clean install

またはそれ以上のようなローカルのMavenリポジトリにこれらの依存関係をインストールする必要があります。

その後、あなたはMavenのコマンド mvn install:install-file -Dfile=api-1.0.jarの下に実行することで、あなたの地元のレポにインストール

<dependency> 
     <groupId>api</groupId> 
     <artifactId>api</artifactId> 
     <version>1.0</version> 
    </dependency> 
+0

私は、ネクサスリポジトリマネージャとアーティファクトを認識していません。外部ジャーは2つしかありません。それらを展開することをお勧めしますか?これらのリポジトリは無料ですか? – user2451099

+0

ネクサスは無料で、インターネットアクセスが失敗した場合に備えて、すべての依存関係のローカルキャッシュを持つことができます。リポジトリマネージャの使用は、企業プロジェクトの定期的な習慣です。 –

関連する問題