質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.59%

JavaEE7 GlassFIsh環境でjava.lang.NullPointerException

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,962

risecom

score 13

N

前提・実現したいこと

エラーの解消
NetBeansでデプロイ&実行はできているwarをGlassFishの管理画面からアップロードしてデプロイするとエラーになりました。変更箇所としては、インジェクトの際に、@Qualifierの利用したインジェクトを行うよう変更してからです。

追記
EJBからCDIに切り替えて利用するようになってから起きるようになりました。(CDIを利用しなければ動作しました。)

ローカル開発環境(NetBeans)では問題なく動作しますが、今回エラーとなる環境(CentOS環境サーバ)では動作しないため、何かしらモジュールなどが足らないのでしょうか?

動作環境
CentOS6
GlassFish
JavaEE7(Java8)


発生している問題・エラーメッセージ

java.lang.NullPointerException

エラー

java.lang.NullPointerException
    at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:190)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:710)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:774)
    at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)
    at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:368)
    at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:377)
    at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:72)
    at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:60)
    at org.jboss.weld.injection.producer.DefaultInjector$1.proceed(DefaultInjector.java:66)
    at org.glassfish.weld.services.InjectionServicesImpl.aroundInject(InjectionServicesImpl.java:142)
    at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:46)
    at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:64)
    at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:91)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:158)
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:103)
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:93)
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79)
    at com.risecom.yoasobi.service.GravureTopicsServiceImpl$Proxy$_$$_WeldClientProxy.findAll(Unknown Source)
    at com.risecom.yoasobi.bean.GravureTopicsBean.findAll(GravureTopicsBean.java:49)
    at com.risecom.yoasobi.bean.GravureTopicsBean$Proxy$_$$_WeldClientProxy.findAll(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at javax.el.ELUtil.invokeMethod(ELUtil.java:326)
    at javax.el.BeanELResolver.invoke(BeanELResolver.java:536)
    at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:136)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
    at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    at com.sun.faces.facelets.component.UIRepeat.getValue(UIRepeat.java:274)
    at com.sun.faces.facelets.component.UIRepeat.getDataModel(UIRepeat.java:250)
    at com.sun.faces.facelets.component.UIRepeat.setIndex(UIRepeat.java:444)
    at com.sun.faces.facelets.component.UIRepeat.process(UIRepeat.java:483)
    at com.sun.faces.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:990)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:894)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:443)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
    at java.lang.Thread.run(Thread.java:745)

JavaEE7にお詳しい方の助言をお待ちしております。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • BlueMoon

    2015/10/29 09:34

    プロジェクトをglassfish管理画面からアンデプロイし、その後にwarをデプロイした際のログを載せて頂くことは可能でしょうか。

    キャンセル

  • BlueMoon

    2015/10/29 10:20

    また、”消去してビルド”した際のログも載せて頂くことは可能でしょうか。
    コンパイルエラーを残したままデプロイした可能性を考えてです。

    キャンセル

  • risecom

    2015/10/29 10:49

    デプロイした際のサーバログへの出力内容です。ご確認お願いいたします。

    [2015-10-29T10:36:41.688+0900] [glassfish 4.0] [SEVERE] [java_security.expired_certificate] [javax.enterprise.system.ssl.security.com.sun.enterprise.security.ssl.impl] [tid: _ThreadID=756 _ThreadName=Thread-64] [timeMillis: 1446082601688] [levelValue: 1000] [[
    SEC5054: Certificate has expired: [
    [
    Version: V3
    Subject: CN=GTE CyberTrust Root 5, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
    Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5

    Key: Sun RSA public key, 2048 bits
    modulus: 23741889829347261660812437366387754385443431973861114865490414153884050331745811968523116847625570146592736935209718565296053386842135985534863157983128812774162998053673746470782252407673402238146869994438729551246768368782318393878374421033907597162218758024581735139682087126982809511479059100617027892880227587855877479432885604404402435662802390484099065871430585284534529627347717530352189612077130606642676951640071336717026459037542552927905851171460589361570392199748753414855675665635003335769915908187224347232807336022456537328962095005323382940080676931822787496212635993279098588863972868266229522169377
    public exponent: 65537
    Validity: [From: Fri Aug 14 23:50:00 JST 1998,
    To: Thu Aug 15 08:59:00 JST 2013]
    Issuer: CN=GTE CyberTrust Root 5, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
    SerialNumber: [ 01b6]

    Certificate Extensions: 4
    [1]: ObjectId: 2.5.29.19 Criticality=true
    BasicConstraints:[
    CA:true
    PathLen:5
    ]

    [2]: ObjectId: 2.5.29.32 Criticality=false
    CertificatePolicies [
    [CertificatePolicyId: [1.2.840.113763.1.2.1.3]
    [] ]
    ]

    [3]: ObjectId: 2.5.29.15 Criticality=true
    KeyUsage [
    Key_CertSign
    Crl_Sign
    ]

    [4]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 76 0A 49 21 38 4C 9F DE F8 C4 49 C7 71 71 91 9D v.I!8L....I.qq..
    ]
    ]

    ]
    Algorithm: [SHA1withRSA]
    Signature:
    0000: 41 3A D4 18 5B DA B8 DE 21 1C E1 8E 09 E5 F1 68 A:..[...!......h
    0010: 34 FF DE 96 F4 07 F5 A7 3C F3 AC 4A B1 9B FA 92 4.......<..J....
    0020: FA 9B ED E6 32 21 AA 4A 76 C5 DC 4F 38 E5 DF D5 ....2!.Jv..O8...
    0030: 86 E4 D5 C8 76 7D 98 D7 B1 CD 8F 4D B5 91 23 6C ....v......M..#l
    0040: 8B 8A EB EA 7C EF 14 94 C4 C6 F0 1F 4A 2D 32 71 ............J-2q
    0050: 63 2B 63 91 26 02 09 B6 80 1D ED E2 CC B8 7F DB c+c.&...........
    0060: 87 63 C8 E1 D0 6C 26 B1 35 1D 40 66 10 1B CD 95 .c...l&.5.@f....
    0070: 54 18 33 61 EC 13 4F DA 13 F7 99 AF 3E D0 CF 8E T.3a..O.....>...
    0080: A6 72 A2 B3 C3 05 9A C9 27 7D 92 CC 7E 52 8D B3 .r......'....R..
    0090: AB 70 6D 9E 89 9F 4D EB 1A 75 C2 98 AA D5 02 16 .pm...M..u......
    00A0: D7 0C 8A BF 25 E4 EB 2D BC 98 E9 58 38 19 7C B9 ....%..-...X8...
    00B0: 37 FE DB E2 99 08 73 06 C7 97 83 6A 7D 10 01 2F 7.....s....j.../
    00C0: 32 B9 17 05 4A 65 E6 2F CE BE 5E 53 A6 82 E9 9A 2...Je./..^S....
    00D0: 53 0A 84 74 2D 83 CA C8 94 16 76 5F 94 61 28 F0 S..t-.....v_.a(.
    00E0: 85 A7 39 BB D7 8B D9 A8 B2 13 1D 54 09 34 24 7D ..9........T.4$.
    00F0: 20 81 7D 66 7E A2 90 74 5C 10 C6 BD EC AB 1B C2 ..f...t\.......

    ]]]

    キャンセル

回答 1

checkベストアンサー

+1

追加情報の内容を確認しましたが、NullPointerExceptionの原因は分かりませんでした。
エラーメッセージの内容から、CDIManager経由のエラー出力に見えたのでManagedBeanのインスタンス化の際にエラーが起きているのかと考え、ログで特定できるかと思いましたが該当の情報は有りませんでした。

QualifierはInterfaceをInjectする際の限定子なので、InterfaceをImplementしているClassを直接Injectしてみてエラーが起ないか確認されてはどうでしょうか。エラーが起きればClass側の要因、起きなければQualifierの記述の要因と切り分けが出来るかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/10/29 18:42

    ご回答ありがとうございます。
    ご指摘の通り、どうやらEJBからCDIに切り替えて利用するようになってから起きるようになりました。(CDIを利用しなければ動作しました。)

    ローカル開発環境(NetBeans)では問題なく動作しますが、今回エラーとなる環境(CentOS環境サーバ)では動作しないため、何かしらモジュールなどが足らないのでしょうか?

    キャンセル

  • 2015/10/29 19:48

    プロジェクト作成方法にもよるのですが、ライブラリにJavaEEWeb7APIライブラリ(javaee-web-api-7.0.jar)が必要です。無ければプロジェクトエクスプローラのライブラリに追加する必要が有ります。また、EJBからCDIへの変更は文法の違いも有るのとimportも変わります。RequestScopedはjavax.enterprise.context.RequestScopedになりますので再確認された方が良いかと思います。

    キャンセル

  • 2015/10/30 13:30

    mavenプロジェクトであったため、mavenから依存jarがうまくとれていませんでした。
    これからjarの追加を試してみます。ありがとうございました。

    キャンセル

  • 2015/10/30 18:11

    mavenでしたらライブラリはpom.xlmの記述になりますね。こちらこそ具体的な回答ができず済みませんでした。ヒントになったようであれば幸いです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.59%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る