オプションの依存関係を使用する
コーディネートに依存します
<project>
...
<dependencies>
<!-- declare the dependency to be set as optional -->
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<optional>true</optional> <!-- value will be true or false only -->
</dependency>
</dependencies>
</project>
オプションの依存関係を使用してスペースとメモリを節約する
シーンを使用
projectXなどのクラスライブラリを作成すると、多くの関数が含まれる場合がありますが、projectXに依存するprojectAは一部の関数のみを使用します。未使用の関数の場合、projectAは不要な関数のjarパッケージに依存しません。現時点では、projectXはオプションの依存関係を使用する必要があります。
projectX-> projectY(オプション)
projectA-> projectX
projectAがprojectY関連のクラスを使用しない場合、projectYはwarパッケージまたはfatjarにパッケージ化されません。
projectAがすべての関数を使用したい場合は、プロジェクトに関連する依存関係を明示的に導入する必要があります。