`
susam
  • 浏览: 103276 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

手动上传依赖的 jar 到 私有的 Nexus 里

    博客分类:
  • java
 
阅读更多

某些时候,项目里依赖的 jar lib 可能并没有在 public repository 里面,比如外包厂商生成的 jar。有一种做法是直接添加 sytem scope 的依赖:

<dependency>
    <groupId>com.demo.www</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/demo-0.0.1.jar</systemPath>
</dependency>

这么做不是不可以,但会看着很奇怪,依赖管理起来也很麻烦,某些时候还会遇到 bug (maven-dependency-plugin 里配置的 runtime includeScope 并不会把这个 system scope 的依赖放进去)

另一种做法就是把这个 jar 上传到你的 私有 Nexus 里面就行管理,用的时候保持平常的 dependency 规则就好了:

<dependency>
    <groupId>com.demo.www</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1</version>
</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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics