0

wsjar ファイルを含むディレクトリの内容を一覧表示するにはどうすればよいですか?

以下のコードは WebSphere では機能しませんが、JBoss では機能します。

Enumeration<URL> en = getClass( ).getClassLoader( ).getResources( "com/myjars" );

while( en.hasMoreElements( ) ) {

    URL url = en.nextElement( );

    if( url.toString( ).startsWith( "jar:file:" ) || url.toString( ).startsWith( "wsjar:file:" ) ) {

        JarFile jarFile = ( (JarURLConnection)url.openConnection( ) ).getJarFile( );

        Enumeration<JarEntry> eje = jarFile.entries( );

        while( eje.hasMoreElements( ) ) {
            JarEntry jarEntry = eje.nextElement( );

            System.out.println( jarEntry.getName( ) );
        }
    }
}

WebSphereで、私は得ました:

java.lang.ClassCastException: com.ibm.ws.classloader.Handler$ClassLoaderURLConnection は java.net.JarURLConnection と互換性がありません

4

1 に答える 1

0

jar を jar としてではなく、jar 内のファイル (単なる zip ファイル) に関心があるためjar:file:、URL からを取り除き、代わりにZipFile型を使用して開いてみることもできます。

したがって、コンストラクターに渡すものに"jar:file:///foo/bar/baz.jar"なります"/foo/bar/baz.jar"ZipFile(String)

于 2013-04-09T15:27:54.693 に答える