手動アップロード依存のjarはプライベートのNexusになります。
2765 ワード
ある時、プロジェクトに依存しているjar libはpublic repositoryの中にないかもしれません。system scopeの依存を直接追加する方法があります。
もう一つの方法はこのjarをあなたのプライベートNexusにアップロードすれば管理できます。使う時は普通のdependencyルールを維持すればいいです。
<dependency>
<groupId>com.demo.wwwgroupId>
<artifactId>demoartifactId>
<version>0.0.1version>
<scope>systemscope>
<systemPath>${project.basedir}/lib/demo-0.0.1.jarsystemPath>
dependency>
このようにしてはいけないわけではないですが、見ていると変に見えます。管理に頼るのも面倒です。たまにバグに出会うことがあります。もう一つの方法はこのjarをあなたのプライベートNexusにアップロードすれば管理できます。使う時は普通のdependencyルールを維持すればいいです。
<dependency>
<groupId>com.demo.wwwgroupId>
<artifactId>demoartifactId>
<version>0.0.1version>
dependency>
以下は筆者が使っているbashのアップロードスクリプトを提供します。読者は実際の状況によって修正してください。その後、pomにsystem scopeの依存は必要ありません。mvn deploy:deploy-file \
-DgroupId=com.demo.www \
-DartifactId=demo \
-Dversion=0.0.1 \
-DgeneratePom=true \
-Dpackaging=jar \
-DrepositoryId=myrepository \
-Durl=http://myrepository.com/content/repositories/releases \
-Dfile=demo-sdk-java-0.0.1.jar