アピラクンのFlashどしろーとがS2Flexに挑戦記

 | 

2004-10-06

[]はじめてみる 12:54

ひがさんの日記を見てFlexのベータテスター応募したので、ここでいろいろ書いてみます。ちなみに私はFlash経験が2、3時間というちょーFlashド素人です(WEB+Db Press Vol20のはぶさんの記事をみてちょっとMX 2004を触っただけ!)。そんな私でもFlexは使いこなせるのか!?身をもって体験してみます。

たぶんものすごい初心者な内容になると思うので、たぶんFlash,Flexを仕事で使っている方には有用な内容は提供出来ないと思うのであしからず・・・

もちろんここに書く以上、ゆくゆくはS2Flexも使っていきたいです。

[]インストール!でいきなりはまる 13:04

環境はJDK1.5(おいおい)にTomcat5.5.2、という環境で、まずはマニュアル通りにインストールしてみる。Flex-15-win.exeたたいて、ペシペシやってインストール終了。よしよし。

で、Tomcatにデプロイだ!flex.warが本体で、サンプルはsamples.warですね。マニュアルにはwarを解凍してなんたらかんたら書いてありますが、めんどうなのでTomcatManagerを使ってwarをデプロイ。で、いきなりエラーが!

致命的: サーブレット /flex がload()例外を投げました
javax.servlet.ServletException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.))
	at flex.bootstrap.BootstrapServlet.init(BootstrapServlet.java:57)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1003)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:836)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3823)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4128)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:755)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:774)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:497)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1153)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
	at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
	at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
	at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1402)
	at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:209)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:106)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:576)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)
2004/10/06 12:37:23 org.apache.catalina.core.ApplicationContext log
情報: HTMLManager: list: Listing contexts for virtual host 'localhost'

うーんCommons Loggingが複数あるからだめよ、みたいなメッセージだなー。しょうがないのでTomcat 5.0.28にしてやってみる。お、うまくいった!サンプルのHelloWorldみれた!うーむ、おとなしくTomcat 5.0.28でやろうと思います・・・。

やば! 13:05

昼休み終了ー。このペースだと先は長いぞ・・・。

[]ひがさんのFlex入門記を実践 17:02

仕事中に・・・これも仕事(^^ゞどしろーとでもばっちりOKなステキな入門記です。

Hello World編

足し算編(イベントにロジック直書き)

足し算編その2(ローカル関数呼び出し)

足し算編その3(関数を別ファイルに外だし)

ちょっとはまったのが足し算編その2。ソースをそのまま実行すると、こんなエラーがでちゃいました。

Error F:\App\eclipse\workspace\flex_beta\Add2.mxml:16
XML document structures must start and end within the same entity.

うーん、mxmlファイルはどこも悪くなさそうだけど・・・と、いろいろ試行錯誤の結果、原因はわからないですが以下の修正で直りました。修正前を一部抜粋。

2: <mx:Script>
3: 
4: function calc():Void {
5:   result.text=Number(arg1.text) + Number(arg2.text);		}
6: ] ]>

この6行目を、

6: >

あ、あれ出ない!えっと、とりあえず説明すると1個目の「]」と2個目の「]」の間にあるスペースを削除したら通りました。うーんなんででしょ・・・。

higayasuohigayasuo2004/10/06 17:06はてなは、]]が意味を持っていてそのまま書けなかったので、
間にブランクを入れました。
混乱させてしまい申し訳ありません。m(_ _)m

apiraapira2004/10/06 17:07書いてみてわかりました(^^ゞそうですよねー。

toshiyukisasakitoshiyukisasaki2004/10/06 17:29私もFlex初心者ですー、今後の日記楽しみにしてます。今日からBuiderの1.5がうぷされてますねー。

apiraapira2004/10/06 18:19Builder、もちろん使ってみます!自分がはまったり悩んだりしたことをとりあえず何でも書くノリでやってみます。

 | 
1900 | 01 | 02 | 03 | 04 | 05 | 06 |
2004 | 10 |