私服搭建
前提:配置好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
相关推荐
- 改变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私有仓库。首先,确保系统已经安装了Java Development Kit (JDK) 8和Maven3。安装这两个组件的具体步骤可以通过搜索引擎获取。 一、所需环境 ...
### CentOS 6.7 安装 JDK 1.8 的详细步骤 在 CentOS 6.7 上安装 JDK 1.8 是一项常见的任务,对于运行 Java 应用程序至关重要。以下是从连接到服务器到验证安装的整个过程: #### 1. 连接到 CentOS 服务器 首先,...
这个特定的版本可能包含了一些新特性、改进和修复的错误,与"Centos6.7 ISO"结合使用,用户可以在VMware Workstation上创建一个虚拟机,然后安装并运行CentOS 6.7操作系统。 详细知识点: 1. **CentOS**: CentOS是...
centos6.7镜像文件
本安装指南基于Centos6.7系统,使用MySQL5.7版本,需要安装libaio依赖包来支持MySQL的安装。 二、下载和安装MySQL 下载MySQL5.7安装包,下载地址为http://dev.mysql.com/downloads/mysql/,选择对应版本的安装包。...
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-6.9_32x64-镜像种子.rar”包含了CentOS 6系列的多个版本,包括6.7、6.8和6.9,适用于32位和64位架构的系统。 1. **CentOS 6.x 版本概述** CentOS 6是CentOS项目在2011年发布的一个长期支持...
centos6.7官方镜像,使用方法: docker load -i centos6.7-image.tgz
- **下载CentOS 6.7 镜像**:根据需求选择32位或64位版本。下载链接为:[http://www.linuxdown.net/CentOS/2015/0807/4023.html](http://www.linuxdown.net/CentOS/2015/0807/4023.html)。 ##### 2. 创建虚拟机 - ...
在这个压缩包中,你应该找到了"gcc安装(centos6.7)"这个文件,它可能包含了所有必要的GCC组件和依赖。解压这个文件到一个方便的位置,例如 `/tmp` 目录。 安装步骤如下: 1. **创建工作目录**: 首先,创建一个...
centos6.7编译hadoop2.6 里面详细的写了过程 。ide为idea,这里注意一下
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详细全过程,若有疑问,欢迎联系交流!
### CentOS 6.7 Minimal 安装与配置详解 #### 一、CentOS 6.7 虚拟机安装步骤 ##### 1.1 准备阶段 - **新建虚拟机**: 在虚拟化平台上(如VirtualBox)新建一个虚拟机,并指定其名称、类型(选择Linux),以及版本...
【标题】"CentOS-6.7-x86_64-bin-DVD1to2.zip"指的是一个包含CentOS 6.7操作系统64位版本的压缩文件,它由两个DVD镜像合并而成。这个标题暗示了用户可以在这个压缩包中找到安装CentOS 6.7所需的所有基本文件。 ...
详细记录在centos6.7上安装mysql5.5,使用过多次的安装手册,文档最下面有相应的rpm包下载链接
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私服,可以实现依赖的高效管理和版本控制,确保构建过程的稳定性和安全性。 以下是搭建Nexus Maven私服的步骤: 1. **安装JDK**:Nexus的运行依赖于JDK环境,确保系统已经安装了JDK,并且版本...