2007/05/28

「Trac月1.3」+「Eclipse3.2」+「Mylar3.2(XML_RCP)」でタスク管理

ちょろいだろうと思っていた↑でかなり手間取ったのでメモっておく

1.「Trac月1.3」をインストール
2.「Eclipse3.2」をインストール
3.「Mylar3.2」をインストール
4.「Eclipse3.2」で「Windows-Show View-Mylar-Task Repositiories」ビューを追加
5.「Task Repositiories-右クリック-Add Task Repository」をクリック
6.「Server」「Label」を入れてから、「Access Type」を「XML-RCP」にして「Validate Settings」ボタンを押す

これでServerと接続できるはずが↓が出た?
Insufficient permissions for selected access type.

「Trac月1.3」は「XML_RCP」がインストールされているからいけるんじゃないの!?



…と思ったら、「Trac月1.3」は「XML_RCP」プラグインは入っているが「権限が付いていなかった」!

なので「XML_RCP」権限の追加を行う

1.「[TRACLIGHT_HOME]\bin」で「コマンドプロンプト」を開く
2.「setenv.bat」を実行
3.「trac-admin.bat [TRACLIGHT_HOME]\projects\trac\SampleProject」を実行
4.「permission add anonymous XML_RCP」を実行
※.「permission list」で追加されたことを確認

「all-in-one trac」と「trac-admin」の使い方が微妙に違ったのでてこずった…
当分tracで遊べそうだ♪

2007/05/10

JavaFXを試してみた!

巷で話題のJavaFXがどんなもんか試してみた。

HPのチュートリアルではNetBeansプラグインで動かしてるが
開発環境もどきが付属してるので問題なし。jreは必要。

1.openjfxのHPからドラフト版をDL。
 https://openjfx.dev.java.net/servlets/ProjectDocumentList

2.解凍してからtutorial.batを実行。


3.Editor部にHPのコード貼り付けてみる
 貼り付けると勝手に実行する


注意)チュートリアルのコードをそのまま貼り付けると「import javafx.ui.*」が抜けてるのでエラーする
 https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html

・GUI部は高度なことを短いコードで実現できてよいかも
・正直Groovyの方がJavaっぽくてわかりやすい…

もうちょっと見守ってみよう…

2007/05/08

jre1.6にしたらIllegalAccessErrorが発生するようになった!?

jre1.5で動いていたものがjre1.6にした途端動作しなくなった…
原因を突き止めると無意識に「package privateはずし」をしていたようだ

なお、jdk1.5でコンパイルしたclassだとjre1.6で動かないが
Eclipse3.1(jikes)でコンパイルしたclassだとjre1.6で動く

「package privateはずし」を意図的にやってたら結構な修正が必要になりそうだ

この変更はこれかなぁ
http://java.sun.com/javase/6/webnotes/adoption/adoptionguide.html
4293149, 6383849: Stop relaxed access checking for classes in the same package with local classloader for when version >= 49


>**/1.5/bin/java temp2.Temp2
A
B
>**/1.6/bin/java temp2.Temp2
Exception in thread "main" java.lang.IllegalAccessError: tried to access class temp1.Temp1 from class temp2.Temp2
    at temp2.Temp2.print(Temp2.java:9)
    at temp2.Temp2.main(Temp2.java:15)



package temp1;

class Temp1 {

  private String name;

  public Temp1(String name) {
    this.name = name;
  }

  public String toString() {
    return name;
  }
}


package temp1;

import java.util.ArrayList;
import java.util.List;

public class Temp11 extends Temp1 {

  private List temp1 = new ArrayList();

  public Temp11(String name) {
    super(name);
    temp1.add(new Temp1("A"));
    temp1.add(new Temp1("B"));
  }

  public List getList() {
    return temp1;
  }
}


package temp2;

import temp1.Temp11;

public class Temp2 {

  public static void main(String[] args) {
    Temp11 temp11 = new Temp11("C");
    for (Object obj : temp11.getList()) {
      System.out.println(obj);
    }
  }
}