非mvn项目转为mvn项目并构建mvn私服
非mvn项目转为mvn项目并构建mvn私服
一.背景
公司里的系统是老系统,没有使用mvn,但是现在准备使用持续集成(CI),就要用到mvn,所以现在需要将老项目转为mvn项目,并且非mvn项目也是不好构建和拓展的。
构建自己的mvn私服,是因为项目里面有一些jar是在中央仓库里面无法下载的,所以我需要在公司的服务器上构建自己的私服仓库,并把这些jar传到私服上。
二.非mvn项目转mvn项目
1.非mvn和mvn项目最直观的区别当然是pom.xml了,所以现在我们需要在项目上自己创建一个pom文件.
2.我使用的是idea工具,我直接右键pom文件,add mvn项目即可,其余的事就是工具的事情了.
3.现在需要把以前的项目的jar全部写在pom文件里面,这里面的水还是比较深的,首先jar就比较多,其次是很多可能你找不到什么的,或者依赖版本的问题,反正这个要花一定的时间。
当你发现有一部分jar包在mvn中央仓库里面怎么都找不到,你可能要意识到这个jar包可能本来就没有,所以需要我们使用私服来上传自己的jar文件。
三.私服的安装
1.在网站下载免费版的nexus:https://www.sonatype.com/download-oss-sonatype:
根据自己项目需求选择版本2还是版本3,下载成功过后,自己安装。安装成功启动过后就可以在页面上看到下面的信息了:
初始的登录账号/密码是:admin/admin123,端口8080,都是可以在config配置里面自己修改的,这里就不多说了。
四.配置项目
1.修改本地mvn仓库和mvn的settings.xml
找到你所安装使用的mvn插件,在安装路径里的config里面的settings.xml文件进行修改:
<servers>
<!-- server
| Specifies the authentication information to use when connecting to a particular server, identified by
| a unique name within the system (referred to by the 'id' attribute below).
|
| NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
| used together.
|
<server>
<id>deploymentRepo</id>
<username>repouser</username>
<password>repopwd</password>
</server>
-->
<server>
<id>central</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server> <!-- Another sample, using keys to authenticate.
<server>
<id>siteServer</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
</servers>
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror> -->
<mirror>
<id>nexus-releases</id>
<url>http://192.168.50.191:8081/nexus/content/groups/public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
<mirror>
<id>nexus-snapshots</id>
<url>http://192.168.50.191:8081/nexus/content/groups/public//</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
在pom文件里面添加:
<repositories>
<repository>
<id>central</id>
<name>Central</name>
<url>http://192.168.50.191:8081/nexus/content/repositories/central/</url>
</repository>
<repository>
<id>thirdparty</id>
<name>3rd party</name>
<url>http://192.168.50.191:8081/nexus/content/repositories/thirdparty/</url>
</repository>
</repositories>
五.上传jar包到mvn私服
这里面有2种方式(命令和页面操作)
1.页面操作
这个就不用多说了,就是界面点点点
2.命令上传
在你的项目pom文件目录,cmd执行上传:
mvn deploy:deploy-file -DgroupId=com.fh -DartifactId=servlet-api -Dversion=1.0 -Dpackaging=jar -Dfile=E:\workspace\BPM\WebRoot\WEB-INF\lib\servlet-api.jar -Durl=http://192.168.50.191:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty
mvn私服是公司里面必备的技能之一,可以多多学习下。
非mvn项目转为mvn项目并构建mvn私服的更多相关文章
- 将Maven2项目转为MyEclipse项目
现在项目中,大家开始用jetty.它不用像在MyEclipse中使用Tomcat那样要部署,也不用像在Tomcat中那样,要把应用都放到webapp文件夹下.jetty可以直接用你的项目的目录结构. ...
- 普通项目转为maven项目及相关操作说明
普通项目转为maven项目及相关操作说明 1 原项目简述 如图,一般的项目大致包括三类路径:src,源码路径:test,单元测试路径:lib第三方类包路径. 示例项目中,BaseDao类依赖于mysq ...
- 如何把maven项目转为eclipse项目
如何把maven项目转为eclipse项目,按照如下操作便可. 在cmd窗口, 载cmd窗口进入到maven项目所在目录下,输入如下命令: mvn eclipse:eclipse 这样便可.
- Eclipse使用之将Git项目转为Maven项目, ( 注意: 最后没有pom.xml文件的, 要转化下 )
Eclipse使用之将Git项目转为Maven项目(全图解) 2017年08月11日 09:24:31 阅读数:427 1.打开Eclipse,File->Import 2.Git->Pr ...
- 如何用Eclipse将普通的JavaWeb项目转为Maven项目
最新自己的第一个项目差不多稳定运行之后 想着将项目转为Maven项目.于是参考网上成功的将自己的普通的项目转为了maven项目,现在记录一下: 0.普通的java项目的结构如下: 1.接下来开始进行正 ...
- 一般项目转为Maven项目所遇到的问题
最近搞CI,准备使用Maven,但以前的项目不是Maven项目,需要把项目转换为Maven项目.这遇到几个小问题,一是jar包的依赖,二是从本地仓库取出依赖jar包. 由于没有本地仓库,要手动添加ja ...
- web项目转为maven项目
声明一下项目本来就是maven项目,只是刚开始部署的时候转为maven项目!!! 2.查看POM文件 3.导入依赖jar包(编译,运行,打包) 4. 注意项目为Maven+java 加载jar包小技巧
- 从myeclipse导入eclipse,不能识别为web项目(java项目转为web项目)
1.进入项目目录,找到.project文件,打开. 2.找到<natures>...</natures>代码段. 3.在第2步的代码段中加入如下标签内容并保存: ...
- Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.java
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
随机推荐
- [Silverlight 4] Textbox style模擬Textblock 使可以選取、複製
childwindow 做為訊息視窗,使用textblock,可是textbloc無法選取內容及複製, 就改用textbox假裝成textblock ---原本的textblock <contr ...
- delegate里的Invoke和BeginInvoke
Invoke和BeginInvoke都是调用委托实体的方法,前者是同步调用,即它运行在主线程上,当Invode处理时间长时,会出现阻塞的情况,而BeginInvod是异步操作,它会从新开启一个线程,所 ...
- Python【day 8】文件
一.文件操作 open(文件路径,mode='模式',encoding='utf-8')模式:r w a rb wb ab r+ w+ a+ r+b w+b a+b常用的:r w ab表示字节,处理费 ...
- Windows+VS2017使用gRPC
gRPC官方Windows安装说明: Install Visual Studio 2015 or 2017 (Visual C++ compiler will be used). Install Gi ...
- Oracle的功能性sql
--创建表空间 CREATE TABLESPACE FSNEW DATAFILE 'E:\oracle\oracledata\oradata\FSNEW' SIZE 30G EXTENT MANAGE ...
- Listary 文件操作神器
文档简介 Listary 官方文档(中文版):https://zhuanlan.zhihu.com/p/24897629 视频介绍:https://v.youku.com/v_show/id_XNTY ...
- springtask 基本使用和 cron 表达式
springtask 的基本使用和 cron 表达式 spring 容器依赖 <dependency> <groupId>org.springframework</gro ...
- 接口测试中,数据驱动时,参数各类型,空或None的处理
天天说接口测试,天天说数据驱动,但网上的各种教程太烂,遇到实际情况就傻眼了. 来来来,我们看一个例子 假设,有下面这样一个接口,获取用户信息,可以带的参数如下: 用户名(uname) str(),非必 ...
- 小学四则运算口算练习app---No.7
今天主要改了设置页面的提示框以及按钮的闪退问题: activity_calculators .class import android.support.v7.app.AppCompatActivity ...
- 【java】int与bigdecimal的相互转换
int转bigdecimal BigDecimal number = new BigDecimal(0); int value=score; number=BigDecimal.valueOf((in ...