配置maven使用nexus报这个错误该怎么解决

配置maven使用nexus报这个错误该怎么解决,第1张

maven--私服的搭建(Nexus的使用)和注意的问题

私服是什么

私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://wwwsonatypeorg/nexus/go。默认端口8081,这里我选择最新版nexus-250-04。

常用功能

Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123

最频繁的就是点击左侧菜单栏的Repositories按钮

一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。

hosted 类型的仓库,内部项目的发布仓库

releases 内部的模块中release模块的发布仓库

snapshots 发布内部的SNAPSHOT模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

proxy 类型的仓库,从远程中央仓库中寻找数据的仓库

group 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

maven项目索引

下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能

保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core

就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息

指定仓库

[html] view plaincopy

<repositories>

<repository>

<id>nexus</id>

<name>nexus</name>

<url>http://1921681103:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

指定插件仓库

[html] view plaincopy

<pluginRepositories>

<pluginRepository>

<id>nexus</id>

<name>nexus</name>

<url>http://1921681103:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

这样只有本项目才在私服下载组件

这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settingsxml文件。

修改settingsxml为

追加激活profile

[html] view plaincopy

<activeProfiles>

<activeProfile>central</activeProfile>

</activeProfiles>

之后所有本机的Maven项目就在私服下载组件。(这样比较好)

项目的发布

[html] view plaincopy

<distributionManagement>

<repository>

<id>user-release</id>

<name>User Project Release</name>

<url>http://1921681103:8081/nexus/content/repositories/releases/</url>

</repository>

<snapshotRepository>

<id>user-snapshots</id>

<name>User Project SNAPSHOTS</name>

<url>http://1921681103:8081/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

</distributionManagement>

注意配置了还是发布项目到私服失败,原因为没有权限,会出现401错误码,原因就是权限不够。

配置权限在settingsxml

注意Respository中的id一定要和server下的id一致,切记!!否则出现权限问题。

然后运行发布

clean deploy

在控制台发布成功

然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目

这种配置几句话说不清,得看着你的环境操作才好,不过仍给你以下几条解决的思路。

检查你的nexus服务器配置,确认你的Jar包上传是成功的,以可以在浏览器查看到Jar包为准;

检查你本地的maven客户端配置文件settingxml,确保能连接到你的nexus服务器上,可以通过其它已经在nexus的Jar是否能下载为作为判断标准;

如果以上两点都没有问题,那么查看你的本地Maven仓库,找到这个Jar包的目录(即使Jar包不能下载,但目录仍是有的),把目录中以Update为扩展名的文件删除掉,然后再对你的项目重新编译,mavne会重新请求你的nexus下载此jar包的,此步骤在每次修改settingxml后,都尝试一次,直到正确为止。

comMembBeanaddUser(MembBeanjava:19)

orgapachejspregiesteraddmemb_jsp_jspService(addmemb_jspjava:95)

这句是告诉你你的类comMembBean的addUser方法出错,在MembBeanjava的19行,报空指针异常,

下面这些依次是你调用这个方法的过程

Nexus是Google公司的品牌,Nexus系列产品是Google公司研发的以原生Android为操作系统的智能手机、平板电脑等电子数码产品。同时,Nexus手机和平板电脑是Google为三星、LG、HTC、MOTO、ASUS等合作厂商提供的Android官方设计标准。

Nexus是一个基于p2p技术的新一代社群交流平台,是下一代软件的架构平台

目标:

⒈独立的平台:构建新的应用协议,实现软件之间无缝的交流,虽然Nexus是基于jxta的架构,可是他是平台协议的东西和操作系统设计软件无关

⒉软件的协同:用于连接我们不同种类的软件和我们在心目虚拟的社群组织,把不关联的个体联系起来,当然这里的个体也包含今天的社群组织

⒊连接无所不在的设备:他同以往的软件不同,他不仅仅将今天的pc连接起来,他是一个平台的解决方案,他需要连接今天无所不在的pc机,服务器,手机,pda等各种的电子设备。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 配置maven使用nexus报这个错误该怎么解决

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情