如何在Eclipse氧气中设置目标平台

时间:2018-01-08 12:02:55

标签: eclipse eclipse-plugin eclipse-oxygen

我的问题是:Eclipse Oxygen(4.7.2)无法设置我所有工作空间中的目标平台,即使它们可以(也可以)由Eclipse Neon设置。似乎每个工作区可能只有一次,之后我既不能重置相同的目标平台,也不能切换到另一个目标平台。

我猜你需要在Eclipse Oxygen中设置的首选项中有一个标记或设置,这是Neon中没有的,因为设置目标平台(并在其中两个之间切换)是非常可能的。看起来也像是一个缓存问题。

我收到的错误消息是:

An internal error occurred during: 
Install download0
Install download1
Install download2
Install download3

在错误日志中:

java.lang.NullPointerException
    at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:675)
    at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:600)
    at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:732)
    at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.getArtifact(MirrorRequest.java:319)
    at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transferSingle(MirrorRequest.java:288)
    at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transfer(MirrorRequest.java:223)
    at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.perform(MirrorRequest.java:153)
    at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:716)
    at org.eclipse.equinox.internal.p2.artifact.repository.simple.DownloadJob.run(DownloadJob.java:63)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

一个不起作用的目标平台的例子是(尽管我合理地确定它不能成为目标平台,因为它在Neon中有效):

<location includeAllPlatforms="true" includeMode="slicer" includeSource="true" type="InstallableUnit"> 
        <repository location="http://download.eclipse.org/eclipse/updates/4.7"/>
        <unit id="org.eclipse.rcp.feature.group"                        version="4.7.2.v20171130-0510" />
</location>

我发现了两个类似异常的错误:Bug 506255讨论了我可能会使用的镜像更新站点? Bug 379986可能不太相关,因为它涉及检查更新功能。

我删除了捆绑池文件夹(通过偏好设置 - &gt; Oomph - &gt;捆绑池找到)但问题仍然存在,这次甚至是我第一次在全新的时候打开目标平台工作区。

可以解决Tycho中相同的目标平台(但是 - 我也可以使用Eclipse Neon来解决这个问题)。

我找到了解决产生该错误的目标平台的方法。让我们说我有一个有25个位置的目标平台。我将一个位置移到另一个位置后尝试解析目标平台。它实际上在19左右(该数字可能是随机的,但它并未绑定到特定位置)。然后我再一次添加位置。如果我出于某些原因一次性添加它们,它就不起作用。当我到达原始目标平台时,它现在就解决了。

如何在氧气中设置目标平台?

后续行动:现在,数百个项目中的一个在Jenkins上构建时具有相同(或非常相似)的异常:

Caused by: java.lang.NullPointerException
at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:666)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:591)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:723)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromOneMirror(RepositoryArtifactProvider.java:229)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnyMirror(RepositoryArtifactProvider.java:212)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.access$1(RepositoryArtifactProvider.java:207)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider$1.perform(RepositoryArtifactProvider.java:187)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:707)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifacts(SimpleArtifactRepository.java:778)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnyChildRepository(RepositoryArtifactProvider.java:199)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnyFormatAvailableInRepository(RepositoryArtifactProvider.java:168)
at org.eclipse.tycho.repository.p2base.artifact.repository.RepositoryArtifactProvider.getArtifactFromAnySource(RepositoryArtifactProvider.java:154)

0 个答案:

没有答案