nuxus是什么
官方地址
首先呢解释一下Sonatype,很多时候会出现Sonatype nuxus,有的只是nuxus什么什么的,其实是一个东东。Sonatype是一个软件管理工具提供商,致力于跟踪和监控各个代码模块,以减少软件开发过程中的bug 以及兼容性、安全性的问题,nexus是旗下的一款产品。
刚接触nuxus是因为主流技术maven,构建maven环境的时候一般都会用maven+nuxus。那就得先说一下maven是什么?
Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包。
主要管理工作是:依赖管理,项目一键构建。maven项目不需要手动导入jar包,通过在pom.xml中添加依赖,引用依赖会自动从maven仓库下载jar包,方便快捷。
- 使用maven构建的项目,整个项目的体积小
- maven项目不需要手动导入jar包,通过在pom.xml中添加依赖,引用依赖会自动从maven仓库下载jar包,方便快捷。
- 项目一键构建:使用maven可以快速地对项目进行编译--测试--运行--打包--安装
- maven支持跨平台操作,可在window、linux、mac上使用
- maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,属于主流技术,一般公司都会使用maven来构建项目
如上图所示nexus就是私有仓库的一种,架设在局域网中,可解决项目直接连接中央仓库获取依赖速度慢或者根本连不上的问题。那既然是仓库总不至于只服务maven的是吧。当然不是
看图说话,nexus可以整合包括maven、npm、pupi、go、rpm、apt-get等常用的仓库,用官方的话说就是Single source of truth for all of your components, binaries, and build artifacts,还可以整合到jenkins、github等CI工具中,还能避免Maven / Java,npm,NuGet和PyPI组件的已知安全和许可证问题。是不是很强大,瞬间解决很多内网项目的困境。
总结一下nexus特性
- nexus是一个强大的私有仓库,它极大的简化了本地内部仓库的维护和外部仓库的访问
- nexus是一套开箱即用的系统使用文件系统加Lucene来组织数据
- nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过IDEA和Eclipse集成使用
- nexus支持webDAV与LDAP安全身份认证
- nexus提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,占用较少的内存