2

EJB3.1アプリケーションで奇妙な例外が発生しましZipExceptionた。アプリケーションのデプロイ中に、次のようにスローされます。

[#|2010-05-15T16:01:44.688+0100|SEVERE|glassfish3.0.1|javax.enterprise.system.container.web.org.glassfish.web.loader|_ThreadID=22;_ThreadName=Thread-1;|WEB9051: Error trying to scan the classes at /Users/kevin/Documents/netbeans/WebAlbums/trunk/WebAlbums3/WebAlbums3-ea/dist/gfdeploy/WebAlbums3-Service.jar for annotations in which a ServletContainerInitializer has expressed interest
java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    at java.util.jar.JarFile.<init>(JarFile.java:133)
    at java.util.jar.JarFile.<init>(JarFile.java:70)
    at org.glassfish.web.loader.ServletContainerInitializerUtil.getInitializerList(ServletContainerInitializerUtil.java:255)
    at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5331)
    at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:550)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5263)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:499)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1947)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1619)
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:339)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365)
    at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204)
    at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
    at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
    at java.lang.Thread.run(Thread.java:637)
|#]

このエラーを調査する方法がわかりません。Glassfishのインストールとは関係がないことを知っています(UbuntuとMacでも同じ問題です)。


編集:( クラスパスの詳細は役に立たないようです)

... / WebAlbums3-ea / dist / gfdeploy / WebAlbums3-Service.jarの問題は、Glassfishが探している場所にこのファイルが実際に存在しないことです...代わりに、WebAlbums3-Service_jarという名前のフォルダーがあります。


(Netbeans 6.8、Glassfish v3、Servlet3、EJB 3.1、JPA / Hibernateを使用しています)

ご協力ありがとうございました

編集:この問題(ZipExceptionとすでにロードされているEJBの両方)は、実装が定義された場所の外にEJBインターフェイスを抽出することで解決されました(実装クラスは各モジュールでロードされたため、EJB例外)

4

4 に答える 4

1

/Users/kevin/Documents/netbeans/WebAlbums/trunk/WebAlbums3/WebAlbums3-ea/dist/gfdeploy/WebAlbums3-Service.jarにあるクラスをスキャンして、ServletContainerInitializerが関心を示しているアノテーションをスキャンしようとしてエラーが発生しました

java.util.zip.ZipException: error in opening zip file

JARファイルが破損しているようです。再コンパイル/置換します。デプロイ中にこれをFTPで転送する場合は、バイナリファイルをテキストデータではなくバイナリデータとして送信するように注意してください。

これは、一時ストレージがいっぱいであるか、書き込みできないことが原因である可能性もあります。

更新Googleは、これもJDK固有である可能性があることを私に知らせました。JDKを最新のものにアップグレードしてみてください。

于 2010-05-15T17:26:33.147 に答える
1

私は、この問題がノンブロッキングであると言及しているこのような問題について、Web上でいくつか言及しているのを見てきました。

EARのデプロイ後に次のエラーが発生した場合でも、心配しないでください。これはごく普通のことです。 "。こちらをご覧ください。

また、Issue11149またはIssue11341にもあります。ケースは異なっているように見えますが、そうでない場合(ファイル名に「+」が含まれるjarがある場合)、GFv3.0.1で修正する必要があります。

これが当てはまらない場合は、問題を作成することをお勧めします。非ブロッキングであっても、これは明らかに正常ではありません。

于 2010-05-15T18:04:31.593 に答える
0

winzipまたは7zipでzipファイルを開くことができますか?ZipFileを使用してプログラムでファイルを開くことはできますか?これらの質問の1つがfalseと評価されると確信しています。

含まれているファイルの名前の特殊文字(特殊文字は非ASCII文字を意味します)に関連して、少し前に奇妙なzipエラーが発生しました。

于 2010-05-15T18:17:24.190 に答える
0

'。'の代わりに'_'を使用します。展開されたデプロイメントを使用する場合は正常です(これにより、展開されたアーティファクトがデプロイされることになっています)

「正常」である可能性がありますが、GFはそこにないmyEJB.jarファイルを探しています。爆発したアーティファクトのみがあり、それは展開されません。

この問題(ZipExceptionとすでにロードされているEJBの両方)は、実装が定義された場所の外にEJBインターフェースを抽出することで解決されました(実装クラスは各モジュールでロードされたため、EJB例外)

これが上記の問題をどのように解決するか理解できません。私の実装クラスは、単独のメッセージBeanです。

于 2011-01-06T12:44:17.600 に答える