mvn私服及构建自己的jar
来源:互联网 发布:oracle云计算产品 编辑:程序博客网 时间:2024/06/15 00:00
一、构建私服,安装Nexus
1、安装略
访问http://127.0.0.1:8081/nexus,通过admin的帐号(admin)和密码(admin123)登录,进入私服管理页面
2、repository简介:
在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为group的repository.
这里简单介绍下几种repository的类型:
- hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
- proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
- group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
3、管理本地仓库
我们前面讲到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party.分别讲一下这三个预置的仓库都是做什么用的:
- Releases: 这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
- Snapshots: 这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
- 3rd Party: 顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛, 没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rd party仓库.
二、构建自己的模块jar,其是mvn项目,自己的pom.xml也有依赖很多第三方包,构建成一个jar,供其他模块或者应用调用。
首先在待构建的mvn项目中pom.xml如下定义:
1、依赖私服定义:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.tcl.mailservice</groupId><artifactId>mailservice</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>mailService</name><url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <cxf.version>2.7.6</cxf.version> </properties><repositories> <repository> <id>nexus</id> <name>nexus</name> <!--<url>http://121.40.71.149:8081/nexus/content/groups/public/</url>--> <url>http://127.0.0.1:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository></repositories> <distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository></distributionManagement><pluginRepositories> <pluginRepository> <id>nexus</id> <name>nexus</name> <url>http://127.0.0.1:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository></pluginRepositories><build> <finalName>mail-service</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources></build><dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxrs</artifactId> <version>${cxf.version}</version> </dependency></dependencies></project>
2、${M2_HOME}/conf/settings.xml中定义上传权限
<server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server>
3、执行mvn deploy
4、查看是否将自己的jar上传到自己部署的私服上
5、其他模块使用
测试mvn项目中pom.xml中定义,依赖刚才定义的jar包
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>mail-client</groupId> <artifactId>com.tcl.mailclient</artifactId> <version>1.0-SNAPSHOT</version> <repositories> <repository> <id>nexus</id> <name>Team Nexus Repository</name> <url>http://localhost:8081/nexus/content/groups/public</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Team Nexus Repository</name> <url>http://localhost:8081/nexus/content/groups/public</url> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId>com.tcl.mail-service</groupId> <artifactId>mail-service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies></project>
0 0
- mvn私服及构建自己的jar
- 如何构建自己的.jar文件
- mvn本地仓库及私服的配置
- 构建自己的工具库--jar包的构建
- 【maven】 安装 构建自己的私服
- Java Mvn 添加依赖的jar包
- mvn 在doc的模式下载JAR
- mvn入门及使用myeclipse构建maven项目
- 关于构建webx的时候运行mvn jetty:run出现无法打开C:\Users\GS\.m2\repository\commons-lang.2.4.jar的问题
- mvn 下载jar源代码
- mvn 下载jar源代码
- MVN 添加本地Jar
- mvn打jar包
- mvn 编译jar包
- MVN 安装 JAR包
- mvn 打jar 包
- mvn安装jar命令
- mvn插件参数的查看及使用
- sed命令详解
- 20个设计模式和软件设计面试问题
- 黑马视频学习笔记-进制与内存(三)- 位运算
- 武汉治腰椎病哪家疗效好
- Android - LayoutInflater (转)
- mvn私服及构建自己的jar
- jquery的一些常用方法
- sgu 138解题记录
- Java 获取T.class(动态泛型class获取)
- poj 2406
- mysql 报错:1130 解决方法
- FolderBrowserDialog(文件夹浏览对话框)
- 查看系统环境变量
- ASP.NET GridView 分页模板及标题定制和加序号