转载自:http://blog.csdn.net/achilles12345/article/details/9263295
前言:Maven的运行机理是:Maven核心组件先去本地的.m2目录下的库中去寻找依赖或者插件,如果本地库里没有,如果配置了私服则上私服去下载依赖或者插件,如果私服上没有,则上中央服务等Maven服务器起下载。因此,所有的依赖和插件都源于中央服务器。可是在有些苛刻环境下,是不允许局域网和外网有任何连接,而又想使用Maven来构建项目,那怎么办呢?以下将讲述具体步骤:
1)寻找一台可以联网的电脑,在上边搭建nexus私服;
2)配置setting.xml文件,使得本地开发环境依赖nexus私服:
首先在<mirrors>标签下添加:
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://localhost:8080/nexus/content/groups/public</url>
</mirror>
然后再<profiles>标签下添加:
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<!--必须配置以下插件库依赖,这样Maven才会百分之百依赖私服,否则Maven在私服上找不到插件,在等待一点时间以后,就会自己去中央服务器上去下载,加上如下配置,则不会绕过私服。-->
<pluginRepositories>
<pluginRepository>
<id>central</id>
<!--这个地址已经无所谓了-->
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
最后,在<settings>标签下添加以下配置,激活上边的<mirror>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
如果不理解镜像<mirror>的含义,则可以查下其他资料。只有强行控制maven使之依赖于私服,才能在封闭的局域网内进行maven开发,否则maven仍然会上中央服务器去下载依赖和插件,则会出现错误。
3)使用maven搭建开发环境,并完成clean、package、test等动作。总之一个目的:使得nexus可以下载尽量多的插件和依赖。
4)拷贝nuxus(可能是bundle的形式或者是在war的形式)和.m2的兄弟目录sonatype-work文件夹到局域网的web服务器上(当然能用usb接口,或者其他传输工具,否则只能跳楼了),然后启动web服务器。
5)使用上边介绍的配置方式配置局域网内的开发机setting.xml文件,使之完全依赖于部署在局域网内的私服。
至此,部署完毕。这里注意刚才的snatype-work文件夹,打开这个目录,可以看到在其下的nexus文件夹里存储了nexus的很多数据,如索引、依赖、插件等。其中storage中存储的是中央服务器、第三方组件等。大家可以自己打开研究下。
另外,这样可能在某些情况下,发现局域网内部署的私服上的插件和依赖不够用,就可以采用上边的方式在此在可以上网的机器上引入模拟局域网内的开发,使得引入需要的插件和依赖。如果已经在局域网内的私服上部署了一些自己开发的组件,为了不影响之前的工作,可以从局域网内把sonatype-work文件再拷贝到可以上网的电脑上,再次重复上边的步骤。以上的办法未必是解决这个问题的最好办法,仅供参考,如有更好的方法,欢迎各位网友留言赐教。
相关推荐
maven 环境搭建总结 maven心得
maven安装、配置,以及在eclipse下搭建开发环境,建立javaweb项目,并运行
Eclipse+maven开发环境搭建,应该还是比较清楚的,可以了解了解大家!
使用maven、nexus、hudson、svn、sts进行持续集成开发环境搭建
Maven工程开发环境搭建及常用操作,是学习Maven的好材料
maven开发环境搭建手册
Maven实践-使用Maven开发Web应用 Maven实践-使用Maven开发Web应用 Maven实践-使用Maven开发Web应用
不习惯于maven项目开发,想使用eclipse的普通web项目。想借鉴别人的maven项目,但是自己使用的却不熟悉maven的原理等等,但是需要懂一点maven的目录架构。
maven 开发工具,maven 开发工具,maven 开发工具,maven 开发工具
Maven开发包下载,适用于Windows操作系统。
使用Maven开发Java Web应用,用于安装在eclipse的指导。
在eclipse中不使用maven创建springboot工程所需jar包,一共32个。亲测各包兼容,完美运行。
使用springmvc、hibernate、maven开发的web实例项目。
maven项目开发的maven3.3.9使用包,可用于springboot项目
在maven环境下,整合ssh
《Maven2使用项目开发规范说明》,图文并茂,详细介绍了使用 Maven2 开发一个规范项目的流程。 目录: 1. 环境配置 3 1.1. 配置Maven2 3 1.2. 配置Eclipse环境变量MIA_LIB 4 1.3. 安装Maven2 的eclipse plugin 4 2. ...
linux 环境下安装maven 拉去资源jar settings.xml 配置文件
快速搭建maven的开发环境
本文面向具有eclipse相关开发经验的技术人员,一步步说明如果在eclipse中集成Maven进行开发。本教程是入门级教程,由于本站发表文章实在不便,故将word文档直接上传了。 目录 Eclipse整合Maven开发教程 1 1. ...