我有 Nexus 1.9.0.2,我的更新索引任务被破坏了。日志显示此错误:
2013-09-17 08:47:50 WARN [pool-1-thread-4] - o.s.n.i.DefaultInde~ - Cannot fetch remote index for repository opennms-repo
java.io.FileNotFoundException: nexus-maven-repository-index.71.gz (item not found)
at org.sonatype.nexus.index.DefaultIndexerManager$2.retrieve(DefaultIndexerManager.java:1095)
at org.apache.maven.index.updater.DefaultIndexUpdater.loadIndexDirectory(DefaultIndexUpdater.java:190)
at org.apache.maven.index.updater.DefaultIndexUpdater.access$300(DefaultIndexUpdater.java:75)
at org.apache.maven.index.updater.DefaultIndexUpdater$LuceneIndexAdaptor.addIndexChunk(DefaultIndexUpdater.java:635)
at org.apache.maven.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:827)
at org.apache.maven.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:156)
at org.sonatype.nexus.index.DefaultIndexerManager.updateRemoteIndex(DefaultIndexerManager.java:1111)
at org.sonatype.nexus.index.DefaultIndexerManager.downloadRepositoryIndex(DefaultIndexerManager.java:1013)
at org.sonatype.nexus.index.DefaultIndexerManager.reindexRepository(DefaultIndexerManager.java:897)
at org.sonatype.nexus.index.DefaultIndexerManager.reindexAllRepositories(DefaultIndexerManager.java:810)
at org.sonatype.nexus.tasks.ReindexTaskHandlerLegacy.reindexAllRepositories(ReindexTaskHandlerLegacy.java:47)
at org.sonatype.nexus.tasks.AbstractIndexerTask.doRun(AbstractIndexerTask.java:80)
at org.sonatype.nexus.scheduling.AbstractNexusTask.call(AbstractNexusTask.java:192)
at org.sonatype.scheduling.DefaultScheduledTask.call(DefaultScheduledTask.java:338)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.sonatype.nexus.proxy.ItemNotFoundException: The remoteURL we requested does not exists on remote server (remoteUrl="http://repo.opennms.org/content/repositories/opennms-repo/.index/nexus-maven-repository-index.71.gz")
at org.sonatype.nexus.proxy.storage.remote.commonshttpclient.CommonsHttpClientRemoteStorage.retrieveItem(CommonsHttpClientRemoteStorage.java:248)
at org.sonatype.nexus.index.DefaultIndexerManager$2.retrieve(DefaultIndexerManager.java:1078)
... 20 more
后来这个:
2013-09-17 08:56:53 INFO [pool-1-thread-4] - o.s.n.f.DefaultFeed~ - Updating all registered repositories index : Process started on Tue Sep 17 08:44:32 MDT 2013, finished on Tue Sep 17 08:56:53 MDT 2013 with error. Error message is: java.io.IOException, Error scanning context opennms-sonatype-ctx: java.lang.NullPointerException Strack trace: java.io.IOException: Error scanning context opennms-sonatype-ctx: java.lang.NullPointerException
at org.apache.maven.index.DefaultNexusIndexer.scan(DefaultNexusIndexer.java:300)
at org.sonatype.nexus.index.DefaultIndexerManager.reindexRepository(DefaultIndexerManager.java:903)
at org.sonatype.nexus.index.DefaultIndexerManager.reindexAllRepositories(DefaultIndexerManager.java:810)
at org.sonatype.nexus.tasks.ReindexTaskHandlerLegacy.reindexAllRepositories(ReindexTaskHandlerLegacy.java:47)
at org.sonatype.nexus.tasks.AbstractIndexerTask.doRun(AbstractIndexerTask.java:80)
at org.sonatype.nexus.scheduling.AbstractNexusTask.call(AbstractNexusTask.java:192)
at org.sonatype.scheduling.DefaultScheduledTask.call(DefaultScheduledTask.java:338)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at org.apache.maven.index.context.IndexUtils.updateTimestamp(IndexUtils.java:175)
at org.apache.maven.index.context.DefaultIndexingContext.updateTimestamp(DefaultIndexingContext.java:418)
at org.apache.maven.index.context.DefaultIndexingContext.updateTimestamp(DefaultIndexingContext.java:408)
at org.apache.maven.index.DefaultNexusIndexer.scan(DefaultNexusIndexer.java:293)
... 13 more
java.io.IOException: Error scanning context opennms-sonatype-ctx: java.lang.NullPointerException
at org.apache.maven.index.DefaultNexusIndexer.scan(DefaultNexusIndexer.java:300)
at org.sonatype.nexus.index.DefaultIndexerManager.reindexRepository(DefaultIndexerManager.java:903)
at org.sonatype.nexus.index.DefaultIndexerManager.reindexAllRepositories(DefaultIndexerManager.java:810)
at org.sonatype.nexus.tasks.ReindexTaskHandlerLegacy.reindexAllRepositories(ReindexTaskHandlerLegacy.java:47)
at org.sonatype.nexus.tasks.AbstractIndexerTask.doRun(AbstractIndexerTask.java:80)
at org.sonatype.nexus.scheduling.AbstractNexusTask.call(AbstractNexusTask.java:192)
at org.sonatype.scheduling.DefaultScheduledTask.call(DefaultScheduledTask.java:338)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at org.apache.maven.index.context.IndexUtils.updateTimestamp(IndexUtils.java:175)
at org.apache.maven.index.context.DefaultIndexingContext.updateTimestamp(DefaultIndexingContext.java:418)
at org.apache.maven.index.context.DefaultIndexingContext.updateTimestamp(DefaultIndexingContext.java:408)
at org.apache.maven.index.DefaultNexusIndexer.scan(DefaultNexusIndexer.java:293)
... 13 more
我可以在浏览器中点击 repo URL ( http://repo.opennms.org/content/repositories/opennms-repo/ )。但是,索引的 URL ( http://repo.opennms.org/content/repositories/opennms-repo/.index/nexus-maven-repository-index.71.gz ) 被破坏了。
Nexus/Maven 如何确定索引文件的 URL?这是 Maven/Nexus 问题还是回购问题?