我只是不明白这一点。我正在开发一个以ZIP形式提供的Eclipse插件,它反映了网站上提供的更新站点。
最近观察到ZIP不再可安装,但更新站点是。在本地解压缩ZIP并从结果中安装也很有效。
记录的堆栈跟踪是
org.eclipse.equinox.p2.core.ProvisionException: No repository found at jar:file:/Users/myUserName/Downloads/MyPlugins.zip!/.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:395)
at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:116)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:281)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:184)
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:387)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:117)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:102)
at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$2.runModal(PreloadingRepositoryHandler.java:83)
at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
了解“存储库”的合格性,检查失败的方法是向前迈出的一步。
微米。
答案 0 :(得分:0)
了解“存储库”的合格性,检查失败的方法是向前迈出的一步。
此上下文中的术语 repository 是Equinox p2 repository,通常称为 p2存储库。
要成为p2存储库,您通常会有content.jar
和artifacts.jar
plugins/
和features/
作为目录。
请注意,某些网站提供的离线安装只是简单地“删除”而未安装。这些应该解压缩到Eclipse安装中的dropins文件夹中,而不是由p2配置。