我刚下载并安装了针对Java EE开发人员的#IDE; Eclipse IDE",这是一个包含其他插件的软件包解决方案 - m2e插件。
尝试在Eclipse中重建maven中央存储库的索引时,出现以下错误:
"无法更新central | http的索引: //repo.maven.apache.org/maven2: [...] /。2 /库/ .cache /[...]/ nexus-maven-repository-index.zip (Datei oder Verzeichnis nicht gefunden)"
检查该缓存,我找到一个文件" nexus-maven-repository-index.gz",但没有压缩文件。
我是否错过了maven插件的一些配置选项?
如果没有,出了什么问题?
(在central.maven.org/maven2/.index/那里只有一个gz文件。那么m2e为什么要搜索一个zip文件?)
非常感谢您的帮助。
进一步详情:
平台
[alqais @ kroete~] $ uname --all
Linux kroete 3.14.1-1-ARCH#1 SMP PREEMPT Mon Apr 14 21:01:08 CEST 2014 i686 GNU / Linux
Eclipse的版
www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/keplersr2
linux 32位:eclipse-jee-kepler-SR2-linux-gtk.tar.gz
JRE
www.java.com/en/download/linux_manual.jsp
linux 32位:jre-7u55-linux-i586.tar.gz
Eclipse日志(控制台)
[alqais @ kroete eclipse] $ ./eclipse -consoleLog
[...]
2014-04-25 00:39:42,681 [Worker-1] INFO o.e.m.c.i.i.nexus.NexusIndexManager - 更新存储库的索引: 中心| http://repo.maven.apache.org/maven2
2014-04-25 00:39:42,889 [Worker-1] INFO c.n.h.c.p.n.NettyAsyncHttpProvider - 应用程序的工作数量 线程是2
2014-04-25 00:41:48,619 [Worker-1] ERROR o.e.m.c.i.i.nexus.NexusIndexManager - 无法更新索引 中心| http://repo.maven.apache.org/maven2: /home/alqais/.m2/repository/.cache/m2e/1.4.0/26522e0d83a422eed93329ece7565cfc/nexus-maven-repository-index.zip (Datei oder Verzeichnis nicht gefunden)
java.io.FileNotFoundException:/home/alqais/.m2/repository/.cache/m2e/1.4.0/26522e0d83a422eed93329ece7565cfc/nexus-maven-repository-index.zip (Datei oder Verzeichnis nicht gefunden)
at java.io.FileInputStream.open(Native Method)〜[na:1.7.0_55]
在java.io.FileInputStream。(未知来源)〜[na:1.7.0_55]
在org.apache.maven.index.updater.DefaultIndexUpdater $ FileFetcher.retrieve(DefaultIndexUpdater.java:568) 〜[索引核-3.1.0.jar:3.1.0]
在org.apache.maven.index.updater.DefaultIndexUpdater.loadIndexDirectory(DefaultIndexUpdater.java:206) 〜[索引核-3.1.0.jar:3.1.0]
在org.apache.maven.index.updater.DefaultIndexUpdater.access $ 300(DefaultIndexUpdater.java:75) 〜[索引核-3.1.0.jar:3.1.0]
at org.apache.maven.index.updater.DefaultIndexUpdater $ LuceneIndexAdaptor.setIndexFile(DefaultIndexUpdater.java:645) 〜[索引核-3.1.0.jar:3.1.0]
at org.apache.maven.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:844) 〜[索引核-3.1.0.jar:3.1.0]
在org.apache.maven.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:156) 〜[索引核-3.1.0.jar:3.1.0]
在org.eclipse.m2e.core.internal.index.nexus.NexusIndexManager.updateRemoteIndex(NexusIndexManager.java:1139) [org.eclipse.m2e.core_1.4.0.20130601-0317.jar:NA]
在org.eclipse.m2e.core.internal.index.nexus.NexusIndexManager.updateIndex(NexusIndexManager.java:1086) [org.eclipse.m2e.core_1.4.0.20130601-0317.jar:NA]
在org.eclipse.m2e.core.internal.index.nexus.NexusIndex.updateIndex(NexusIndex.java:145) [org.eclipse.m2e.core_1.4.0.20130601-0317.jar:NA]
在org.eclipse.m2e.core.ui.internal.views.MavenRepositoryView $ 8 $ 1.run(MavenRepositoryView.java:391) [org.eclipse.m2e.core.ui_1.4.0.20130601-0317.jar:NA]
在org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)[org.eclipse.core.jobs_3.5.300.v20130429-1813.jar:na]
!SESSION 2014-04-25 00:36:18.506 -------------------------------------- ---------
eclipse.buildId = 4.3.2.M20140221-1700
java.version = 1.7.0_55
java.vendor = Oracle公司
BootLoader常量:OS = linux,ARCH = x86,WS = gtk,NL = de_DE
框架参数:-product org.eclipse.epp.package.jee.product
命令行参数:-os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product -consoleLog
!ENTRY org.eclipse.m2e.logback.appender 4 0 2014-04-25 00:41:48.640
!MESSAGE无法更新中心索引| http://repo.maven.apache.org/maven2: /home/alqais/.m2/repository/.cache/m2e/1.4.0/26522e0d83a422eed93329ece7565cfc/nexus-maven-repository-index.zip (Datei oder Verzeichnis nicht gefunden)
[alqais @ kroete~] $ ps ax | grep jre
4337 pts / 1 Sl + 1:40 /home/alqais/programs/jre1.7.0_55/bin/java -Dosgi.requiredJavaVersion = 1.6 -XX:MaxPermSize = 256m -Xms40m -Xmx512m -jar /home/alqais/programs/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar -os linux -ws gtk -arch x86 -showsplash /home/alqais/programs/eclipse//plugins/org.eclipse.platform_4.3.2.v20140221-1700/splash.bmp -launcher / home / alqais / programs / eclipse / eclipse -name Eclipse --launcher.library /home/alqais/programs/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20140116- 2212 / eclipse_1508.so -startup /home/alqais/programs/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar --launcher.appendVmargs -exitdata 4e0008 -product org.eclipse.epp.package.jee.product -consoleLog -vm /home/alqais/programs/jre1.7.0_55/bin/java-vmargs -Dosgi.requiredJavaVersion = 1.6 -XX:MaxPermSize = 256m -Xms40m -Xmx512m -jar /home/alqais/programs/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
[alqais @ kroete~] $ ls -alt .m2目录/库/ .cache / M2E / 1.4.0 / 26522e0d83a422eed93329ece7565cfc /
insgesamt 116896
drwxr-xr-x 2 alqais alqais 4096 25. Apr 00:40 min
drwxr-xr-x 3 alqais alqais 4096 25. Apr 00:40。
-rw-r - r-- 1 alqais alqais 1131 25. Apr 00:40 nexus-maven-repository-index.properties
-rw-r - r-- 1 alqais alqais 0 25. Apr 00:40 chunks.lst
-rw-r - r-- 1 alqais alqais 119684538 25. Apr 00:40 nexus-maven-repository-index.gz
-rw-r - r-- 1 alqais alqais 0 24. Apr 23:51 .lock
drwxr-xr-x 3 alqais alqais 4096 24. Apr 23:51 ..
答案 0 :(得分:0)
为了将潜在的Eclipse问题与Maven问题分开,您可以尝试安装最新版本的Maven并将其设置为Eclipse(Windows> preferences> Maven)。
答案 1 :(得分:0)
在maven-indexer的那个版本中,如果在读取.gz索引时遇到任何问题,它将无声地故障转移到尝试遗留索引.zip,吞下与.gz相关的任何错误消息。这是来自maven-indexer的相关代码:
try
{
Date timestamp = target.setIndexFile( source, IndexingContext.INDEX_FILE + ".gz" );
if ( source instanceof LocalIndexCacheFetcher )
{
// local cache has inverse organization compared to remote indexes,
// i.e. initial index file and delta chunks to apply on top of it
for ( String filename : ( (LocalIndexCacheFetcher) source ).getChunks() )
{
target.addIndexChunk( source, filename );
}
}
return timestamp;
}
catch ( IOException ex )
{
// try to look for legacy index transfer format
return target.setIndexFile( source, IndexingContext.INDEX_FILE + ".zip" );
}
我尝试删除(或重命名)nexus-maven-repository-index.gz
并尝试在Eclipse的Maven设置中重新编制索引,这有望说服Eclipse重新创建一个好的index.gz文件。
答案 2 :(得分:0)
查看p2 repo镜像条目的settings.xml。
当eclipse尝试从settings.xml中定义的repo下载.gz时会发生这种情况,并且它会失败,因此它会将.gz文件的html 404响应写入磁盘并且卡住了。
我发现只有一个解决方案
WORKAROUND: - 转到“maven存储库”视图并禁用所有p2存储库的索引 - 重启Eclipse
不幸的是,使用新的工作区启动Eclipse会破坏.m2 / .cache目录,因此您必须从上面重做解决方法。
如果您已找到解决方案,请更新解决方案。