読者です 読者をやめる 読者になる 読者になる

この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

EclEmma-3.0.0に更新したらエラー発生

本日、EclEmmaのアップデートが来ていたので更新してEclipseを再起動すると、意味不明なエラーが出てEclEmmaを使用できなくなりました。

次のようなエラーが発生します。

!MESSAGE Invalid input url:platform:/plugin/com.mountainminds.eclemma.ui/icons/full/eview16/coverage.gif
!STACK 0
java.io.IOException: Unable to resolve plug-in "platform:/plugin/com.mountainminds.eclemma.ui/icons/full/eview16/coverage.gif".
    at org.eclipse.core.internal.runtime.PlatformURLPluginConnection.parse(PlatformURLPluginConnection.java:61)
    at org.eclipse.core.internal.runtime.FindSupport.find(FindSupport.java:290)
    at org.eclipse.core.runtime.FileLocator.find(FileLocator.java:152)
    at org.eclipse.jface.resource.URLImageDescriptor.getFilePath(URLImageDescriptor.java:216)
    at org.eclipse.jface.resource.URLImageDescriptor.access$2(URLImageDescriptor.java:208)
    at org.eclipse.jface.resource.URLImageDescriptor$URLImageFileNameProvider.getImagePath(URLImageDescriptor.java:53)
    at org.eclipse.swt.internal.DPIUtil.validateAndGetImagePathAtZoom(DPIUtil.java:407)
    at org.eclipse.swt.graphics.Image.<init>(Image.java:684)
        ...

プラグインソースコードを読んでみたのですが原因は分からず。


その次にworkspace/.metadataの全ファイルを"com.mountainminds.eclemma.ui"でgrepしたら答えがわかりました。


解決方法

EclEmmaのタブを閉じて開き直せばOK。

EclEmma3.0から、プラグインのIDが変更になった(com.mountainminds.eclemma→org.eclipse.eclemma)ことにより、Eclipse内部のUIキャッシュの整合性が崩れたことが原因でした。