2009年10月28日水曜日

javaFX とJDK6

EclipseのJavaFXのプラグインで,JDK6のクラスを参照したjavaのコードが共存できない.プロジェクトはちゃんとJDK6にしてあってもだめ.

内部的に,javafxpackagerというコマンドを起動しているのだが,これにverboseオプションをつけて実行してみると, なかでjavacを起動するときに,-target 1.5で起動している...なぜだ. 切り替えるオプションもないようだし,JDK5 でやるしかないのか...JAXBのライブラリどうしたらいいんだ??

2009年10月25日日曜日

jetty 組込

Jettyの組込サーバとしての利用法.ここに書かれている. 使い方としては,warのためのディレクトリ構成をつくって,そこを指定してサーバを起動する.

注意点は,

  • jetty7だとパッケージ名が org.eclipse 以下になっている.
  • サンプル中のコンテキストパスは,URLのプレフィックスを決めている模様.

2009年10月5日月曜日

SteerMouse とtrackman fx

PS/2のTrackman marble FX をMacで使いたくて,アダプタ経由でつないでみたが,スクロールがうまくいかない.SteerMouseを試してみたが,やっぱりだめだ.Trackman marble FXは,あるボタンを押すと,ボールがホイール代わりになるという特殊な代物なので,どうにもならないようだ.不思議なことに,firefoxのなかではSteerMouseなしでもスクロールができる(というかスクロールボタンを押した状態になる)のだが,他の窓だとだめ.うーん.残念だなあ...

2009年9月21日月曜日

Servletで 405 エラー

App Engineで405がでてしばらくはまる.

落ちは,doGet を doGETと書いていた...教訓は,

@Override
は伊達じゃない,ってことで.

2009年9月20日日曜日

java-twitter とGAE

java-twitterはApp Engineでは使えない.
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
を使っているから.

くそー...面倒くさいな..

java-twitterのインストール

twitterのAPIをwrapしたライブラリjava-twitterをインストールしようとしたら,はまったのでメモ.バイナリがダウンロードできるのだが,依存しているjarが全然書かれていないので,一筋縄ではないかない,という...これがmaven時代のjavaプロジェクトのありかたなのか.

前提として,mavenはインストールされていること.適当なプロジェクトを作る.

> mvn archetype:create -DgroupId=com.example -DartifactId=sample
> cd sample
pom.xmlを編集して,下記を追加.レポジトリを追加しているのと,コンパイラのバージョン指定.
  <repositories>
    ...
    <repository>
      <id>java-twitter-repository</id>
      <url>http://java-twitter.googlecode.com/svn/repository/</url>
      <name>java-twitter maven repository</name>
    </repository>
    ...
  </repositories>
...
  <dependencies>
    ...
    <dependency>
      <groupId>net.unto.twitter</groupId>
      <artifactId>java-twitter</artifactId>
      <version>0.9-SNAPSHOT</version>
    </dependency>
    ...
  <dependencies>
...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
で,
> mvn package
> mvn dependency:copy-dependencies -DoutputDirectory=lib
とやるとlibにすべてのjarが集められる.
> cd lib
> ls
commons-beanutils-1.7.0.jar ezmorph-1.0.6.jar
commons-codec-1.2.jar  google-collections-0.9.jar
commons-collections-3.2.jar java-twitter-0.9-SNAPSHOT.jar
commons-httpclient-3.1.jar joda-time-1.6.jar
commons-io-1.4.jar  json-lib-2.2.3-jdk15.jar
commons-lang-2.4.jar  junit-3.8.1.jar
commons-logging-1.0.4.jar protobuf-java-2.2.0.jar
こんなにたくさん...たしかにこれはいちいち書いてられないかも.

2009年9月15日火曜日

OOWebとPOST

OOWebというcherrypyににたサーバフレームワークがある.メソッドをURLツリーにマップして,リフレクションでよびだしてくれてなかなか面白いのだが,どうもPOSTで生データを送ったりするのに対応できないっぽい.formからPOSTする場合のデータはちゃんとハンドルしてくれるのだけど,逆に生のデータがとれないのだ.

メソッドにはRequestStateという引数がわたるのだけど,このRequestStateのなかに生データへアクセスする方法が含まれていないようなのだ.eclipseで止めてのぞいてみたがだめっぽい. ソースをみても,RequestState以外を引数として呼び出すコードはない.ということで多分だめ.うーん,面倒だなあ.やっぱりjettyを使うのか..