`
lovefly_zero
  • 浏览: 389972 次
  • 性别: Icon_minigender_1
  • 来自: 株洲
社区版块
存档分类
最新评论
阅读更多
缘由:自从Juven翻译第十六章Nexus以来,我就发现这一章内容与我原来安装的nexus-webapp-1.0.0-beta-4.2特性有诸多不同,于是尝试升级到nexus-1.0.2-bundle。
但是我按照http://nexus.sonatype.org/using/ updating.html中的步骤进行迁移后,尝试启动失败了。
意外信息“服务nexus-webapp 意外停止”
我再尝试取消迁移并删除迁移版本,然后直接安装nexus-1.0.2-bundle,也是报同样的错误。
只好作罢,返回继续使用nexus-webapp-1.0.0-beta-4.2。
解决

因为我没有去查看warpper.log,虽然命令行已有提示,有几个warpper.log文件,
\nexus-1.1.0-bundle\nexus-webapp-1.1.0\bin\jsw\windows-x86-32、logs都有。后来
查看logs下的日志才发现问题出在这个 -XX:+HeapDumpOnOutOfMemoryError参数上,因为我的虚拟机上安装
JDK1.5,这个参数存在JDK6的JVM中。
    修改\nexus-1.1.0-bundle\nexus-webapp-1.1.0\conf 下的wrapper.conf文件
    屏蔽 wrapper.java.additional.3=-XX:+HeapDumpOnOutOfMemoryError。
然后在\nexus-1.1.0-bundle\nexus-webapp-1.1.0\bin\jsw\windows-x86-32注册并启动服务。哈哈^^ 大功告成。
    现在开始重新升级,因为我查看了Juven的翻译和启动新的Nexus后发现,它的邮箱和用户管理、权限、角色等等是我感兴趣的新功能,当然还有其他,我没有自己查看,呵呵,等升级完成后再说。

     下面是从Nexus关于迁移这部分中翻译过来的,小弟才疏学浅,翻得不好望大家见谅。
      我的迁移环境从nexus-webapp-1.0.0-beta-4.2到nexus-1.1.0-webapp-bundle。

 

在Nexus betas版本中,主配置文件为${basedir}/runtime/apps/nexus/conf/nexus.xml,它严格指
定了Nexus的工作目录,默认为${basedir}/runtime/work/nexus。这次升级能成功的让用户更友好的使用默认或者手动移动
内部工作目录的数据和相应的配置。
在1.0+, 这变得相当的简单。工作目录存放一个新的的默认路径${basedir}/../sonatype-work/nexus,那样是为了让
它和运行目录处于同一路径下。有两种方法可以覆盖默认工作目录:第一种是为新的工作目录定义一个名称为“PLEXUS_NEXUS_WORK”的环境变量,或者编辑${basedir}/conf/plexus.properties中的nexus-work 变量。第一种方法在已经出现的 1.0beta版本中是首选方法,因为它几乎忽略了手工移动和编辑文件。
nexus.xml 现在存放在${nexus-work}/conf/ 文件夹下。未来你升级到一个新的捆绑包也是非常容易的。如果你没有移动其他文件的话,关掉旧版本,启动新版本即可。

如果你需要升级更早的版本,那么你将需要按下面的一些步骤才能成功的升级到1.0.
下面是默认推荐的文件夹结构:

/Nexus
+--/nexus-1.0.0
    +/runtime/apps/nexus
|
+--/sonatype-work
    +/nexus
       +/storage
       +/conf/nexus.xml

(我因为已经启动过新的版本,这些文件夹都存在)
如果你觉得这样不错,那么你就可以执行下面的步骤了。

   1.创建一个包含工作目录和运行目录的捆绑包文件夹(如果你没有创建的话),暂且称它指向${nexus_home},然后定位到你当前使用的$
{nexus-beta-bundle}版本下。
   2.把${nexus-beta-bundle}/runtime/work/nexus 移动(或者复制[注:推荐,以便升级失败后还原])到
${nexus_home}/sonatype-work/nexus下。
    3.这一步操作你将覆盖${nexus_home}/sonatype-work/nexus/conf 和${nexus_home}/
sonatype-work/nexus/storage等等,不用管它,执行就行了。
   4.移动(或者复制)${nexus-beta-bundle}/runtime/apps/nexus/conf/nexus.xml 到$
{nexus_home}/sonatype-work/nexus/conf
    (这一步作者在误导我,因为我查看了两个nexus.xml 的结构有很大的不同,没办法,我只好一一把旧版本和新版本的相似配置覆盖,并删除了新版本下一个叫secret.properties的用户配置文件[复制过来的旧版本文件],因为有名称为security.xml的新的更高级的用户权限配置文件代替了它,当然以前的用户密码也没有了,都还原成系统默认)
   5.打开你的 ${nexus_home}指向的目录。把目录名称改为nexus-1.1.0-webapp-bundle并指向环境变
量"NEXUS_HOME“。
   6.定位到${nexus_home}/nexus-1.0.0-webapp-bundle/bin/jsw/[你的操作系统版本] ,寻找启
动的脚本。
   7.你现在启动它,你就会发现原有的工作目录数据和迁移后的配置。

[下面的仅翻译,未做实际操作,见谅。]

如果你想为你的工作目录定位其他的路径,请按如下步骤操作。我们现在指向${nexus-beta-bundle}的当前路径。 
    1.为你现有的nexus工作目录定义一个为"PLEXUS_NEXUS_WORK"的环境变量。(它将指向你预先指定的nexus.xml
文件)。
  2.移动(或者复制)${nexus-beta-bundle}/runtime/apps/nexus/conf/nexus.xml  到 ${PLEXUS_NEXUS_WORK}/sonatype-work/nexus/conf
   3.其他步骤同上5,6,7.

 

后记:
    自Nexus 1.1起,我们可以直接使用WAR了,扔在tomcat或者jetty下就可以,现在基本可以使用了,不过还有一些小的问题正在修复,相信1.1.1会比较完善。
有了WAR,升级会变得十分方便,我们可以自定义nexus的工作目录,类似nexus.log, nexus.xml. 以及仓库的存储都在工作目录中,war只包含了所有的应用程序逻辑。因此只要通过web-inf/plexus.properties,或者环境变量,系统属性,配置nexus-work就可以(不配置的话会默认在用户目录下)。也就是说,使用了WAR,升级就基本上只是重新部署一个WAR包而已。

评论

相关推荐

    nexus-3.68-java8-win,maven私服搭建

    定期检查 Nexus 的更新,并根据需要升级到新版本。在升级前,记得备份 `sonatype-work` 目录,其中包含了所有的配置和存储库数据。 通过以上步骤,您已经在 Windows 上成功搭建了 Nexus 3 Maven 私服,可以高效地...

    思科交换机及路由器升级失败恢复方法

    ### 思科交换机及路由器升级失败恢复方法 #### 一、引言 在IT行业中,思科系统公司的网络设备因其稳定性和可靠性被广泛应用于各种规模的企业和组织中。然而,在进行思科交换机和路由器的软件升级过程中,可能会...

    nexus的linux版本

    Nexus是Sonatype公司开发的一款强大的仓库管理器,主要用于管理和分发Maven、npm、NuGet等不同构建工具的依赖库。...持续关注Sonatype的官方更新,确保Nexus版本的及时升级,以获取最新的功能和安全修复。

    nexus-3.38.0-01-unix.tar.gz

    9. **维护与升级**:定期检查Nexus的更新,遵循官方文档进行升级以获取最新的功能和安全修复。 10. **监控与备份**:为了保证数据安全,应定期对Nexus的数据进行备份,并监控其性能和稳定性。 通过Nexus ...

    Nexus Repository Manager的使用

    此目录是独立的,这意味着可以通过简单地替换`nexus`目录来升级Nexus到新版本,而不影响原有的数据。 **4. 修改配置** - 默认情况下,`nexus-2.14.5-02`目录和`sonatype-work`目录位于同一目录下。 - 若要更改仓库...

    nexus-2.14.21安装包

    6. 升级与维护:随着Nexus新版本的发布,及时升级可以确保获得最新的功能和安全修复。升级过程通常涉及备份现有数据,然后替换旧版本的二进制文件,并重新初始化数据库。 总结起来,Nexus-2.14.21是一个强大且易用...

    nexues的备份存到这里啦啦啦

    5. **版本控制**:备份的版本应该被妥善管理,尤其是当Nexus升级或系统配置发生变化时,保留多个版本的备份可以帮助回滚到一个已知的稳定状态。 6. **安全注意事项**:备份过程中应考虑安全性,确保备份文件不被...

    Nexus Repository Manager 3.28.1-01

    最新版本的 Nexus Repository Manager 3.28.1-01 Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件...

    nexus-3.16.2-01-unix.tar.gz-Maven私服Nexus安装包(Linux版)

    8. **维护与更新**:定期检查Nexus的新版本并进行升级,以保持安全性和功能更新。 "sonatype-work" 文件夹是Nexus运行时的工作目录,它包含了Nexus的数据库、日志文件和其他运行时数据。而 "nexus-3.16.2-01" ...

    Nexus2windows版Nexus3 Linux版

    Nexus2是早期版本,而Nexus3则是其后续的升级版本,提供了更多功能和改进。 【Nexus2详解】 Nexus2是Maven社区广泛使用的仓库服务器,它支持Maven、Ivy、Gradle等多种构建工具。Nexus2的主要功能包括: 1. **本地...

    nexus-2.14

    2. **升级Nexus**:如果需要升级到更高版本,先备份"sonatype-work",然后替换旧的"Nexus"目录,按照新版本的文档完成升级步骤。 通过以上介绍,你应该对Nexus 2.14版本有了全面的理解,包括其功能、搭建过程和工作...

    maven 私库 服务器 Nexus 3 安装包 支持 linux windows

    5. **升级维护**: 定期检查 Nexus 更新,并按照官方指南进行升级。 总结:Nexus 3 是 Maven 开发团队必备的工具,它提供了对私有库的全面管理。正确安装和配置 Nexus 3,可以帮助团队高效地管理依赖,提升开发流程...

    nexus-3.3.0-01

    通常,版本号的升级代表着软件的更新和优化,比如性能提升、用户体验改善或者安全性的增强。 标签 "nexus" 明确指出了这个压缩包与 Nexus 仓库管理器有关,暗示我们接下来会探讨关于 Nexus 的知识。 在压缩包的...

    nexus-3.37.0-01-unix.tar.gz

    Nexus是Sonatype公司开发的一款强大的仓库管理器,主要用于Maven、Gradle等构建工具的依赖管理和部署。标题中的“nexus-3.37.0-01-unix.tar.gz”表明这是一个针对Unix/Linux系统的Nexus版本,版本号为3.37.0-01。这...

    nexus-3.53.0-01版本安装包

    9. **维护与更新**:关注Nexus的新版本发布,及时进行升级以获取最新的特性和安全修复。 以上就是关于Nexus 3.53.0-01版本安装包的相关知识点,通过理解这些,你将能够顺利地在Unix/Linux环境中部署和管理这款强大...

    linux-nexus-3.7.0.zip

    9. **维护与升级**:定期检查Nexus的更新,确保系统安全和功能的完备性。升级过程通常涉及备份现有数据,下载新版本,停服更新,然后恢复数据。 10. **最佳实践**:推荐将Nexus作为CI/CD流程的一部分,自动部署和...

    nexus-3.15.2-win64.rar

    nexus-3.15.2-win64.rar官网对应的最新版nexus私服包用于配置私服。要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程...

    nexus-2.6.0-05

    10. **版本升级**:随着版本的更新,Nexus 2.6.0-05可能修复了前一版本的已知问题,提升了系统的稳定性和性能。同时,新版本可能会引入新的特性和改进,如优化的UI、增强的权限控制等。 总的来说,Nexus 2.6.0-05是...

    nexus-2.12.0-01.zip

    升级过程需要注意数据迁移和备份,确保服务不中断。 7. 性能优化:在生产环境中,Nexus的性能优化是关键,这可能涉及调整内存分配、使用缓存策略、配置负载均衡,以及监控和日志记录等。 8. 集成与自动化:Nexus...

    maven-nexus2.14.5补丁包.rar

    Maven Nexus是Java开发中的一款重要工具,主要用于管理Maven仓库,包括本地仓库、远程仓库以及私有仓库(也称为Nexus私服)。Nexus是Sonatype公司提供的开源解决方案,它不仅帮助开发者集中管理依赖,还提供了高级...

Global site tag (gtag.js) - Google Analytics