-IStorage対応(5)
どうやっても無理な唯一パターンがあります。以下の条件を満たすと見つけられません。
- JarのルートにDiconをおく
- PackageExplorerから直接そのDiconを開く
わざわざEclipseのAPIでデフォルトパッケージの非Javaクラスについてローディングできないようにとめてるのです。
org.eclipse.jdt.internal.core.PackageFragment public Object[] getNonJavaResources() throws JavaModelException { if (this.isDefaultPackage()) { // We don't want to show non java resources // of the default package (see PR #1G58NB8) return JavaElementInfo.NO_NON_JAVA_RESOURCES; } else { return ( (PackageFragmentInfo) getElementInfo() ).getNonJavaResources(getResource(), getPackageFragmentRoot()); } }
「PR #1G58NB8」って何かはわかりませんが、デフォルトパッケージにおいちゃダメなそうな。Seasar2のプロジェクトやS2Daoのプロジェクトなどは、デフォルトに「j2ee.dicon」があるし「app.dicon」がデフォルトパッケージに置かれたりしますので、Jarの中じゃ無いときにはKijimunaの回避コードで探しますが、Jarの中は探せないのです。既知の制限ということにせざるを得ません。