我正在尝试将Nexus安装从3.12.x
升级到最新的3.15.2
,这看起来很简单。
我跟着upgrade guide:
nexus.rc
文件nexus.vmoptions
文件与之前的版本相匹配。
然而,nexus run
命令给了我各种异常,这使得这非常困难:
ERROR [FelixStartLevel] *SYSTEM org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl - Failed transition: NEW -> STARTED
java.lang.IllegalStateException: Missing recipe: apt-hosted
at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.recipe(RepositoryManagerImpl.java:155)
at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.newRepository(RepositoryManagerImpl.java:173)
at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.restoreRepositories(RepositoryManagerImpl.java:264)
at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.doStart(RepositoryManagerImpl.java:246)
at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start(StateGuardLifecycleSupport.java:67)
at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
at org.sonatype.nexus.common.stateguard.StateGuard$TransitionImpl.run(StateGuard.java:193)
at org.sonatype.nexus.common.stateguard.TransitionsInterceptor.invoke(TransitionsInterceptor.java:56)
at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:168)
at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:100)
at org.sonatype.nexus.extender.NexusContextListener.frameworkEvent(NexusContextListener.java:195)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1429)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Thread.java:748)
系统正在运行CentOS,但我不确定为什么它会尝试使用apt
。
每当我将数据目录指向空目录时,nexus run
将成功完成并按预期工作,但显然所有用户/存储库都将丢失。
有没有人有想法?
看起来你的版本没有安装插件nexus-repository-apt。一定要安装https://github.com/sonatype-nexus-community/nexus-repository-apt。安装此插件的步骤将写入插件的自述文件中。
我想在那之后nexus会再次运作:)