GOL @Wiki
WebLogic上でMayaaを動かす
最終更新:
divadiva
-
view
WebLogicの上で、Mayaaを動かします。プレゼンテーション層を構築する技術は他にもありますが、Webデザインとロジックの開発をなるべくうまく分離できそうなので、触ってみることにしました。Mayaaの特徴についてはこちら。
WebLogic上でMayaaを動かす
(備考 とりあえず動かすために問題の原因追求および解決をせずに、その場しのぎ対応)
WebLogic SIP Server 2.2で簡単なWebUIを構築しようと思い、せっかくなのでMayaaを試してみることにしました。
まずは最初にWebLogic SIP Serverに含まれるHTTPコンテナのバージョンを調べようと思い、<DOMAIN>/setEnv.sh を実行した後、
WebLogic SIP Server 2.2で簡単なWebUIを構築しようと思い、せっかくなのでMayaaを試してみることにしました。
まずは最初にWebLogic SIP Serverに含まれるHTTPコンテナのバージョンを調べようと思い、<DOMAIN>/setEnv.sh を実行した後、
java weblogic.Admin -url t3://XXXX:PORT VERSION
を実行します。
その結果、HTTPコンテナは、WebLogic Server 8.1 SP5 であることが判明しました。
その結果、HTTPコンテナは、WebLogic Server 8.1 SP5 であることが判明しました。
さて、いよいよMayaaのインストールです。まずはダウンロードサイトからブランクWAR(今回はmayaa-1.1.0.war)をゲットします。そして <DOMAIN>/applications に適当な名前のディレクトリを作成し(今回はmayaa-1.1.0)、そのディレクトリ内でWARファイルを展開、サーバを起動。まずは管理コンソール(http://XXXX:PORT/console)を開いて、[<DOMAIN>][デプロイメント][Webアプリケーションモジュール]の管理ページを開いて、展開済みのWARを指定してデプロイします。
デプロイが無事完了したら、http://XXXX:PORT/mayaa-1.1.0/ にブラウザでアクセスします。そうすると下記の様なエラーが返ってきます。
デプロイが無事完了したら、http://XXXX:PORT/mayaa-1.1.0/ にブラウザでアクセスします。そうすると下記の様なエラーが返ってきます。
java.lang.NoSuchMethodError: setWrapFactory at org.seasar.mayaa.impl.cycle.script.rhino.RhinoUtil.enter()Lorg/mozilla/javascript/Context;(RhinoUtil.java:41) at org.seasar.mayaa.impl.cycle.script.rhino.ScriptEnvironmentImpl$1.create([Ljava/lang/Object;)Ljava/lang/Object;(ScriptEnvironmentImpl.java:104) at org.seasar.mayaa.impl.cycle.CycleThreadLocalFactory.get(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(CycleThreadLocalFactory.java:105) at org.seasar.mayaa.impl.CycleLocalVariablesImpl.getGlobalVariable(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;(CycleLocalVariablesImpl.java:27) at org.seasar.mayaa.impl.cycle.CycleUtil.getGlobalVariable(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;(CycleUtil.java:73) at org.seasar.mayaa.impl.cycle.script.rhino.ScriptEnvironmentImpl.startScope(Ljava/util/Map;)V(ScriptEnvironmentImpl.java:129) at org.seasar.mayaa.impl.engine.specification.SpecificationUtil.startScope(Ljava/util/Map;)V(SpecificationUtil.java:134) at org.seasar.mayaa.impl.engine.EngineImpl.createSpecificationInstance(Ljava/lang/String;ZLorg/seasar/mayaa/impl/engine/EngineImpl$SpecificationGenerator;)Lorg/seasar/mayaa/engine/specification/Specification;(EngineImpl.java:518) at org.seasar.mayaa.impl.engine.EngineImpl.createDefaultSpecification(Ljava/lang/String;)Lorg/seasar/mayaa/engine/specification/Specification;(EngineImpl.java:535) at org.seasar.mayaa.impl.engine.EngineImpl.build()V(EngineImpl.java:243) at org.seasar.mayaa.impl.engine.EngineImpl.doPageService(Lorg/seasar/mayaa/cycle/ServiceCycle;Ljava/util/Map;Z)V(EngineImpl.java:329) at org.seasar.mayaa.impl.engine.EngineImpl.doService(Ljava/util/Map;Z)V(EngineImpl.java:456) at org.seasar.mayaa.impl.MayaaServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(MayaaServlet.java:84) at org.seasar.mayaa.impl.MayaaServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(MayaaServlet.java:67) at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletStubImpl.java:348) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(WebAppServletContext.java:6981) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V(WebAppServletContext.java:3892) at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic/kernel/ExecuteThread;)V(ServletRequestImpl.java:2766) at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183) at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
そこで、WebLogic起動スクリプト(startWebLogic.sh)のCLASSPATHのところを編集して、<DOMAIN>/applications/mayaa-1.1.0/WEB-INF/lib/rhino-1.6r2.jar を先頭に追加します。
そして再度アクセスすれば、「Welcome to the Mayaa's template driven development!」というメッセージのHTMLが返ってきます。