`
wx1569618008
  • 浏览: 75284 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

CentOS6.7 64使用nexus搭建maven私服

 
阅读更多

私服搭建

前提:配置好java环境变量。 </br> 不涉及maven的其他知识。

1.下载安装

最新nexus下载地址:http://www.sonatype.org/nexus/go

<!--more -->

解压:

cd /opt/softwares/nexus
tar -zxvf nexus-latest-bundle.tar.gz
ll
drwxr-xr-x 8 root root     4096 5月  28 2014 nexus-2.8.1-01
drwxr-xr-x 3 root root     4096 5月  28 2014 sonatype-work 

解压后会有两个文件夹 出现两个文件夹:nexus-oss-webapp-1.8.0和sonatype-work,前者包含了nexus的运行环境和应用程序,后者包含了你自己的配置和数据。

2.启动nexus

cd nexus-2.8.1-01/
bin/nexus start  

注意:root 用户启动会提示配置RUN_AS_USER 修改:

cd bin/
vim nexus
RUN_AS_USER=root

启动:

[root@hadoop bin]# nexus start
[root@hadoop bin]# jps
8650 Jps
2859 JswLauncher // nexus

3.配置nexus

访问网址:http://yourhostname:8081/nexus

右上角以admin登陆,默认用户名/密码:admin/admin123。

3.1配置邮箱

由于私服基本上配置一次就可以,很长时间不会操作,配置邮箱用于找回密码。

3.2配置下载中央仓库的jar包

配置全局的Public Repositories

配置Central 仓库,并更新下索引

3rd party、Snapshots、Releases这三个,分别用来保存第三方jar、项目组内部的快照、项目组内部的发布版.

4.手动添加第三方jar包

点击Upload Artifact(s)按钮提交后即上传。

5.配置远程仓库

5.1下载

在本地maven的setting.xml中配置

<profiles>
	<profile>
		<id>dev</id>
		<!--仓库地址-->
		<repositories>
			<repository>
				<id>nexus</id>
				<url>http://192.168.226.128:8081/nexus/content/groups/public/</url>
				<releases>
					<enabled>true</enabled>
					<updatePolicy></updatePolicy>
				</releases>
				<snapshots>
					<enabled>true</enabled>
				</snapshots>
			</repository>
		</repositories>
		<!--插件库地址-->
		<pluginRepositories>
			<pluginRepository>
				<id>nexus</id>
				<url>http://192.168.226.128:8081/nexus/content/groups/public/</url>
				<releases>
					<enabled>true</enabled>
				</releases>
				<snapshots>
					<enabled>true</enabled>
				</snapshots>
			</pluginRepository>
		</pluginRepositories>
	</profile>

</profiles>
<!--激活生效dev-->
<activeProfiles>
	<activeProfile>dev</activeProfile>
</activeProfiles>
<!--用于把本地jar包推送到私服,看下边-->
 <servers>
	<server>  
	  <id>releases</id>  
	  <username>admin</username>  
	  <password>admin123</password>  
	</server> 
	<server>  
	  <id>snapshots</id>  
	  <username>admin</username>  
	  <password>admin123</password>  
	</server>
 </servers>

此时就可以从远程仓库中下载我们自己上传的第三方jar包,下载到本地库中,需要在pom文件中加入依赖。

<dependency>
			<groupId>com.mainbo</groupId>
			<artifactId>jypt-parent</artifactId>
			<version>1.0.0</version>
</dependency>

5.2上传

此时如果想要 mvn clean install deploy 需要在 pom.xml 文件中加入

<distributionManagement>
	<!-- 要和 setting.xml 配置对应 -->
	<repository>
		<id>releases</id>
		<url>http://192.168.226.128:8081/nexus/content/repositories/releases</url>
	</repository>
	<snapshotRepository>
		<id>snapshots</id>
		<url>http://192.168.226.128:8081/nexus/content/repositories/snapshots</url>
	</snapshotRepository>
</distributionManagement>

从这里复制。

实验中遇到的问题: 推送私服的时候可能会遇到 无法执行 maven-deploy-plugin的问题 在pom.xml 工程中加入

<build>
<!-- To define the plugin version in your parent POM -->
<pluginManagement>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-deploy-plugin</artifactId>
			<version>2.8.2</version>
		</plugin>

	</plugins>
</pluginManagement>
<!-- To use the plugin goals in your POM or parent POM -->
<plugins>
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-deploy-plugin</artifactId>
		<version>2.8.2</version>
	</plugin>

</plugins>
</build>

PS: 这只是简单的测试,实际生产环境中可能会遇到很多其他问题。

参考:Linux下使用nexus搭建maven私服

Maven的其他知识

1.Maven的基本命令

mvn clean -->表示运行清理操作(会默认把target文件夹中的数据清理)
mvn clean compile-->表示先运行清理之后运行编译,会见代码编译到target文件夹中
mvn clean test-->运行清理和测试
mvn clean package-->运行清理和打包
mvn clean install-->运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以调用
mvn clean deploy-->运行清理和发布(发布到私服上面)

2.Maven的依赖

2.1依赖包的查询

1、所有的依赖都是通过坐标来进行存储的(GAV-->groupId、artifactId、version) 2、有一些网上的仓库提供了坐标的查询(http://mvnrepository.com) 3、通过<dependencies>设置依赖

maven是如何搜索依赖的?首先会在本地仓库查询如果本地仓库没有,就去中央仓库查询

2.2传递的依赖性

1.依赖是会被传递 A-->C B-->A ==> B-->C(这种依赖是基于compile这个范围进行传递) 对于依赖的传递而言,主要是针对compile作用域传递 2.冲突解决

2.3依赖的范围

1、test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖 2、compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去 3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 4、runtime在运行的时候依赖,在编译的时候不依赖 默认的依赖范围是compile

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>3.8.1</version>
	<scope>test</scope>
</dependency>

2.4聚合和继承

聚合: 当工程中有很多模块分层的时候,如果我们要打包需要一个一个的package,这样会比较麻烦,此时可以使用聚合来管理我们的工程。

3.Maven的生命周期

3套生命周期

1、clean
   pre-clean  执行一些需要在clean之前完成的工作
   clean  移除所有上一次构建生成的文件
   post-clean  执行一些需要在clean之后立刻完成的工作
2、compile
  validate
  generate-sources
  process-sources
  generate-resources
  process-resources     复制并处理资源文件,至目标目录,准备打包。
  compile     编译项目的源代码。
  process-classes
  generate-test-sources 
  process-test-sources 
  generate-test-resources
  process-test-resources     复制并处理资源文件,至目标测试目录。
  test-compile     编译测试源代码。
  process-test-classes
  test     使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
  prepare-package
  package     接受编译好的代码,打包成可发布的格式,如 JAR 。
  pre-integration-test
  integration-test
  post-integration-test
  verify
  install     将包安装至本地仓库,以让其它项目依赖。
  deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。 
3、site
  pre-site     执行一些需要在生成站点文档之前完成的工作
  site    生成项目的站点文档
  post-site     执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
  site-deploy     将生成的站点文档部署到特定的服务器上

当我们执行install时,install上边的所有周期都会执行。

3.1 插件

插件是maven的核心,所有执行的操作都是基于插件来完成的 为了让一个插件中可以实现众多的类似功能,maven为插件设定了目标,一个插件中有可能有多个目标 其实生命周期中的重要的每个阶段都是由插件的一个具体目标来执行的 jetty插件的使用 在uemis/pom.xml中添加

<project>
... 
  <plugins>
...
    <groupId>org.mortbay.jetty</groupId>
		<artifactId>jetty-maven-plugin</artifactId>
		<configuration>
			<scanIntervalSeconds>10</scanIntervalSeconds>
			<webApp>
				<contextPath>/web</contextPath>
			</webApp>
			<connectors>
				<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
					<port>8787</port>
					<maxIdleTime>60000</maxIdleTime>
				</connector>
			</connectors>
		</configuration>
  </plugins>
</project>

clean package jetty:run 启动.

百度云视频:Maven3实战。链接: http://pan.baidu.com/s/1geP8L4f 密码: b2eu

转载于:https://my.oschina.net/ddyblackhat/blog/682238

分享到:
评论

相关推荐

    在CentOS下使用nexus搭建maven私服的安装教程

    - 改变Nexus使用的JDK版本: - 同样编辑`/mvn/nexus/nexus-3.24.0-02/bin/nexus`文件,找到`JAVA_HOME`配置项,设置为你的JDK安装路径。 - 修改Nexus数据及日志的存储位置: - 进入`/mvn/nexus/nexus-3.24.0-02/...

    在CentOS7上用Nexus3搭建Maven私服.doc

    在本文中,我们将详细介绍如何在CentOS7操作系统上使用Nexus3搭建Maven私有仓库。首先,确保系统已经安装了Java Development Kit (JDK) 8和Maven3。安装这两个组件的具体步骤可以通过搜索引擎获取。 一、所需环境 ...

    centos6.7安装jdk

    ### CentOS 6.7 安装 JDK 1.8 的详细步骤 在 CentOS 6.7 上安装 JDK 1.8 是一项常见的任务,对于运行 Java 应用程序至关重要。以下是从连接到服务器到验证安装的整个过程: #### 1. 连接到 CentOS 服务器 首先,...

    Centos6.7 ISO

    这个特定的版本可能包含了一些新特性、改进和修复的错误,与"Centos6.7 ISO"结合使用,用户可以在VMware Workstation上创建一个虚拟机,然后安装并运行CentOS 6.7操作系统。 详细知识点: 1. **CentOS**: CentOS是...

    centos6.7镜像文件

    centos6.7镜像文件

    Centos6.7系统安装MySQL5.7总结

    本安装指南基于Centos6.7系统,使用MySQL5.7版本,需要安装libaio依赖包来支持MySQL的安装。 二、下载和安装MySQL 下载MySQL5.7安装包,下载地址为http://dev.mysql.com/downloads/mysql/,选择对应版本的安装包。...

    centos6.7 镜像百度网盘链接.txt

    CentOS-6.7.iso

    centOS6.7下gcc-4.4.7的安装部件

    centOS6.7下gcc-4.4.7的安装部件。满足各种需求 centOS6.7下gcc-4.4.7的安装部件。满足各种需求 centOS6.7下gcc-4.4.7的安装部件。满足各种需求 centOS6.7下gcc-4.4.7的安装部件。满足各种需求

    Centos6.7-6.9_32x64-镜像种子.rar

    这个压缩包“Centos6.7-6.9_32x64-镜像种子.rar”包含了CentOS 6系列的多个版本,包括6.7、6.8和6.9,适用于32位和64位架构的系统。 1. **CentOS 6.x 版本概述** CentOS 6是CentOS项目在2011年发布的一个长期支持...

    centos6.7镜像

    centos6.7官方镜像,使用方法: docker load -i centos6.7-image.tgz

    CentOS 6.7 安装及基本配置

    - **下载CentOS 6.7 镜像**:根据需求选择32位或64位版本。下载链接为:[http://www.linuxdown.net/CentOS/2015/0807/4023.html](http://www.linuxdown.net/CentOS/2015/0807/4023.html)。 ##### 2. 创建虚拟机 - ...

    centos6.7gcc离线安装包

    在这个压缩包中,你应该找到了"gcc安装(centos6.7)"这个文件,它可能包含了所有必要的GCC组件和依赖。解压这个文件到一个方便的位置,例如 `/tmp` 目录。 安装步骤如下: 1. **创建工作目录**: 首先,创建一个...

    centos6.7编译hadoop

    centos6.7编译hadoop2.6 里面详细的写了过程 。ide为idea,这里注意一下

    centOS6.7安装GCC套件

    64 位CentOS 6.7 安装gcc V4.4.7的操作步骤 以及配套所需的rpm格式安装包 安装步骤: 1、rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm 2、rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm 3、rpm -ivh cloog-ppl-0.15.7-1.2.el6....

    centos6.7安装mysql

    centos6.7安装mysql详细全过程,若有疑问,欢迎联系交流!

    centos6.7_minimal安装手册

    ### CentOS 6.7 Minimal 安装与配置详解 #### 一、CentOS 6.7 虚拟机安装步骤 ##### 1.1 准备阶段 - **新建虚拟机**: 在虚拟化平台上(如VirtualBox)新建一个虚拟机,并指定其名称、类型(选择Linux),以及版本...

    CentOS-6.7-x86_64-bin-DVD1to2.zip

    【标题】"CentOS-6.7-x86_64-bin-DVD1to2.zip"指的是一个包含CentOS 6.7操作系统64位版本的压缩文件,它由两个DVD镜像合并而成。这个标题暗示了用户可以在这个压缩包中找到安装CentOS 6.7所需的所有基本文件。 ...

    centos6.7安装mysql5.5.38

    详细记录在centos6.7上安装mysql5.5,使用过多次的安装手册,文档最下面有相应的rpm包下载链接

    Linux环境(CentOS6.7 64位)下安装subversion1.9.5的方法

    subversion使用1.9.5版本,服务器使用阿里云服务器,CentOS6.7(64位)。 1.第一步 现在软件,安装svn共需要使用如下软件,apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz、zlib-1.2.11、sqlite-autoconf-3130000.tar.gz...

    nexus搭建maven私服务器.docx

    通过Nexus搭建的Maven私服,可以实现依赖的高效管理和版本控制,确保构建过程的稳定性和安全性。 以下是搭建Nexus Maven私服的步骤: 1. **安装JDK**:Nexus的运行依赖于JDK环境,确保系统已经安装了JDK,并且版本...

Global site tag (gtag.js) - Google Analytics