« 2006年1月 | トップページ | 2006年3月 »

虎になろー:eclipseでのAntがJ2SE5.0をつかうようにする

Window → Preferences → Ant → Global Entries で Add External JARs
→ Jdk1.5のtools.jar

Upして順位をあげておく。

| | コメント (0) | トラックバック (0)

虎になろー:eclipseでJ2SE5.0にする

いまさら虎になろー=J2SE5.0になれよう、と思い、eclipseで設定する

eclipseでJ2SE5.0を使うには、2箇所の設定を確認する

・インストール済みのJRE=>1.5になっていること
・コンパイラ=>5.0になっていること

なんなんだこの表記の違いわ。。。
何の都合であれ紛らわしいのぅ。

| | コメント (0) | トラックバック (0)

Google Page はSafariをおいてけぼりーな

うききとして
http://pages.google.com/
を家でもやろうとおもったら

Oops!

なんぞといいやがって

天下のGoogle様が!
ちっ。

Safariが悪いのかいのう。。。

| | コメント (0) | トラックバック (0)

MacOS10.4.5にJ2SE 5.0をインストール

じぇねりくとか、えぬむとか、
ちょびっと説明してもらって面白そうだああと思って、
うちのMacにもいれたろうかと思う。

虎と言えばここ
J2SE 5.0 虎の穴

1.5.xと 5.0が一緒というのはまぎらわしいが。。。

http://developer.apple.com/java/
にたどりつくまでに
少々ぐぐった。
http://oku.edu.mie-u.ac.jp/~okumura/java2/install.html
最近のmacの常識しらんものでね

で。
JAVA_HOMEはどうやったらかえられるの?
「シンボリックを変更することによって」
ってどういうことでしょうか?

Linuxといっしょ?

よくわからないので。

eclipseのなかだけ5.0になればいいので、
eclipseを起動して、
Preference で、Intalled JREsを追加して、こんぱいらを5.0にする

をを!

じぇねりくとかできるようになりましたー


| | コメント (0) | トラックバック (0)

log4jとcommons-logging でログをだす。

Javaでログといえばlog4jだが、とてもわかりにくい。
というか、わからん。つかっているけど、いつまでたってもわからん。

最近ようやく、log4jとcommons-loggingを一緒に使うと便利らしい知る。

≪いるもの≫
 log4j.jar
 commons-logging.jar

≪やり方≫(eclipse前提かつWebアプリより)
【1】jarはWebアプリなら WEB-INF/libとかにいれて、クラスパスにいれとく。

【2】ログ用クラスを書く
 log4jの使い方を説明しているサイトは、たいてい汎用的でないログの説明しかしていないぞ!
 
ヲれはすぐにつかえるねたほしいんだ!←低レベル

  MyLoggerクラスの場合
   (1)クラスをつくる
   (2)以下のように書く
        private static final Log log = LogFactory.getLog(MyLogger.class);
   (3)右クリック→Source→Generate Delegate Methods
   (4)全部選択する
       → メソッドが沢山できる
        → ぜんぶ static にする

ここまででもいいが、共通で使うには現実的でない

  (5)メソッドを改造する。
     引数を、Object、String、String  にする。
     それぞれ、インスタンス(?)、メソッド名、メッセージ になる。

    /**
     *
     * @param class1      インスタンス
     * @param methodName  メソッド名
     * @param message     メッセージ
     */
    public static void debug(Object class1, String methodName, String message) {
        log.debug(format(class1, methodName,message));
    }


  (6)メッセージを加工するメソッドをつくる
     引数を増やすとそのままではログのメソッドにわたせない
      上の三つを一つにくっつける

    private static String format(Object class1, String methodName,
            String message) {
        String tmp = class1.getClass().getName() + "[" + methodName + "]"
                + message;
        return tmp;
    }

【3】設定ファイルを書く
log4j.properties だ。(XMLもあるがよう知らん)

 コンソールとローリングファイルを、2つずつつくる。

 コンソールとローリングファイルの一組はlog4j.rootLogger用にする。
log4j.rootLogger=DEBUG, consoleRoot, rollingRoot
 レベルはWARNとかERRORにする。
 そうしないとSpringとかHibernateとかげろげろログをだす。myfacesも。

 その他の組を、MyLogger用にする
log4j.logger.hoge.util.MyLogger=DEBUG, consoleApp1, rollingApp1
 こっちはDEBUGにする。

【4】
log4j.properties はクラスパスが通っているところにおく。

【5】テスト用クラスをつくる

▼一部

    public String getMessage() {
        MyLogger.debug(this, "getMessage", "+++ IN +++");
        return message;
    }


できたー・・・・・・・

いやー、できてないかな。
コードがのっていないとむずいよねー。。。

| | コメント (0) | トラックバック (0)

eclipseかちーん

Macでの話。
どうにもならなくなったので
対処法を知らない私は

control+コマンド+電源


ぶちー
ぶちちちち
ぶっっちっぶっちぶっちぶーぅ。。。。。。

| | コメント (0) | トラックバック (0)

Javaでメールで日本語で

ほげ<hoge@hoge.com>

をtoにすると、InternetAddress.parse でおちる。
調べていくと
「ほげ」部分だけはエンコードしなくてはならないそうだ。
5,6年JavaMailをさわっているはずだがしらなかったよ?

≪参考≫
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27772&forum=12&5
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12787&forum=12
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21342&forum=12


// 日本語が入っているかなんとなくちぇっく
int idx = to.indexOf("<");
if (idx > 0) {
    String person = to.substring(0, idx);
    String addr = to.substring(idx, to.length());
    to = MimeUtility.encodeText(person, "iso-2022-jp", "B") + addr;
}

mimeMessage.setRecipients(Message.RecipientType.TO, InternetAddress
                    .parse(to, false));

| | コメント (0) | トラックバック (0)

MacOS10.4.5でeclipse

コードアシスト
  コントロール+スペース
コードフォーマット
 シフト+コマンド+F

。。。Windowsと同じだけど。

右クリックはcontrolキー

これは
eclipseの話というよりMacOSⅩの話。

WTPになれているからsysdeoなんてさーTomcatプロジェクトなんてさー
ひさしぶりにみたさー

eclipse、Tomcat、sysdeo Tomcatプラグイン、XML Buddy、プロパティエディタをいれる
mainとJSPとサーブレット
いちおーうごいたー

| | コメント (0) | トラックバック (0)

JavaMailで添付ファイルがおくれない=>ぼげ。

≪現象≫添付ファイルがおくれない。

≪例外≫
Caused by: javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    java.io.IOException: No content
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:577)

≪状態≫
わかんねーよー

送れる様になった。
全然ちがうところでまちがえていた。
二日くらいはまっていた

≪どうやって解決したか≫
TomcatをDEBUGモードで起動してF6でおっていった
←面倒くさがらずにさっさとそうすべきだと思う。

≪おまけ≫
http://www.sk-jp.com/book/javamail/contents/index.html
絶版になったので、本とまったく同じではないが、ほぼまるごと全掲載しているらしい。。。

| | コメント (0) | トラックバック (0)

一頁でどん。

http://www.ecopig.jp/comucale/
のをみつける。

おもしろい。
一つの予定に、どん
と詰め込んでいてたのしい。

ポータルとか言うと、ちっさくしてぎゅうぎゅうにする感じだが
まんまどんどんどんもいいかもしれない(うっとり)

| | コメント (0) | トラックバック (0)

JSFのばりでーしょん。

使うのか?
なんかうまくいかないしー邪魔するかんじー(しろうと)
何か変だなと思ったらJSPのなかのrequiredを全部消す。
そうするとたいていうまくいく。。。。だめかな。

| | コメント (0) | トラックバック (0)

JSPはUMLでどうかくの?

JSP UML boundary
で検索したら
@IT:連載:【改訂版】初歩のUML 第13回
の頁があった

<<boudary>>で<<jsp>>らしい

いわれてみればなあんだ
だが
しらんもんです

| | コメント (0) | トラックバック (0)

JSFのエラーはわかりにくい。

いきなり変なエラーが

java.lang.IllegalStateException: No Factories configured for this Application - typically this is because a context listener is not setup in your web.xml.
A typical config looks like this;
<listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>

でて
てんぱる。

画面とTomcatのログにでて
むーーなんだーー
と思っていたら、
標準出力にでろでろでてくるTomcatのログをみていたら
faces-config.xmlとかのタグが変だよというエラーがでていた

むー。
わかりにくいよ
JSF関係のエラー。
MyFacesか?

| | コメント (0) | トラックバック (0)

カレンダーの色とかStrutsとか

カレンダーの色。
日曜は赤系、土曜日は青系。
全体で指定したほうがいいとおもいつつ
けっきょくぺこぺこかいているなあ。
だめじゃん
意外と、
どういうふうに設定するかむずかしい
(単に優柔不断なだけ?)

求人とかみているとStrtus経験者が多いのだけど
JSFをやりはじめていまさらStrutsをやるかっちゅーと
案件でもない限りむずかしい
そもそもなぜないんだ(笑
cFrameworkはあったから
自前似非フレームワークは
StrutsとcFrameworkを足して割ったようなものになってしもた
(J2EEじゃないけど)
悪くはないがいかんせん他人に説明できない
やはり世の標準にあるフレームワークをつかわないとだめですね

JSF+Spring+Hibernateはとても楽しい(楽しいってなんだ)
でもXML書くのが苦痛な人はだめだし
むかないアプリもあると思う
(J2EEだからとかそういうのとはまた別で)
システムによってフレームワークはわけなきゃね


| | コメント (0) | トラックバック (0)

Javaで一週間の日付をつくる

何日から何日まで、というやつだ。
あってるかな?しらんばぃ。

// システム日付
GregorianCalendar gcStart = new GregorianCalendar();
// 日曜日にする
gcStart.set(GregorianCalendar.DAY_OF_WEEK,GregorianCalendar.SUNDAY);
// くろーんする
GregorianCalendar gcEnd = (GregorianCalendar) gcStart.clone();
// 土曜日にする
gcEnd.set(GregorianCalendar.DAY_OF_WEEK,GregorianCalendar.SATURDAY);
// 添え字を開始日からつくる
GregorianCalendar gcIdx = (GregorianCalendar) gcStart.clone();
// ループの終了日を終了日からつくる
GregorianCalendar gcLoopEnd = (GregorianCalendar) gcEnd.clone();
// ループは一日たす
gcLoopEnd.add(GregorianCalendar.DAY_OF_YEAR, 1);
// ループ
while (gcIdx.before(gcLoopEnd)) {
    System.out.println(gcIdx);
    // 添え字に1日たす
    gcIdx.add(GregorianCalendar.DAY_OF_YEAR, 1);
}

| | コメント (0) | トラックバック (0)

Javaで日数の差

Javaで日数の差を計算してみる。
あってるかなあ?(確かめろよおい!)

GregorianCalendar gcStart = new GregorianCalendar();
gcStart.set(GregorianCalendar.YEAR, 2005);
gcStart.set(GregorianCalendar.MONTH, 4 - 1);
gcStart.set(GregorianCalendar.DAY_OF_MONTH, 15);

GregorianCalendar gcEnd = new GregorianCalendar();
gcEnd.set(GregorianCalendar.YEAR, 2006);
gcEnd.set(GregorianCalendar.MONTH, 10 - 1);
gcEnd.set(GregorianCalendar.DAY_OF_MONTH, 20);

int daysStart = gcStart.get(GregorianCalendar.DAY_OF_YEAR);
int daysEnd = gcEnd.get(GregorianCalendar.DAY_OF_YEAR);

System.out.println("  daysStart=" + daysStart);
System.out.println("  daysEnd=" + daysEnd);

if (gcStart.get(GregorianCalendar.YEAR) == gcEnd
        .get(GregorianCalendar.YEAR)) {
    System.out.println("daysEnd - daysStart = "
            + (daysEnd - daysStart));
} else {
    // 開始の同じ年の年末日
    GregorianCalendar gcIdx = (GregorianCalendar) gcStart.clone();
    gcIdx.set(GregorianCalendar.MONTH, 12 - 1);
    gcIdx.set(GregorianCalendar.DAY_OF_MONTH, 31);

    int daysTmp = gcIdx.get(GregorianCalendar.DAY_OF_YEAR);

    System.out.println("  daysTmp=" + daysTmp);
    int days = daysTmp - daysStart;
    System.out.println("ループ開始前  days=" + days);

    // 開始の翌年からスタート
    gcIdx.add(GregorianCalendar.YEAR, 1);

    while (gcIdx.get(GregorianCalendar.YEAR) < gcEnd
            .get(GregorianCalendar.YEAR)) {
        int tmp = gcIdx.get(GregorianCalendar.DAY_OF_YEAR);
        System.out.println(" 途中=" + tmp);
        days += tmp;
        gcIdx.add(GregorianCalendar.YEAR, 1);
    }

    days += daysEnd;

    System.out.println("days=" + days);
}

| | コメント (0) | トラックバック (1)

h:panelGridで内側のテーブルの線をけす

h:panelGridで内側のテーブルの線をけす方法。

h:panelGridの入れ子にしても、外はたいてい一番外しかほしくない。

一番外のh:panelGrid
  styleClass は、線なしで、 border-collapse:collapse; の指定をしたクラス
  columnClasses は、線あり。

線を出したくないh:panelGridは
  styleClass は、線なし。

冷静に考えれば
なあんだ
であるが。
ようするに

「tableで線はかかず、thやtdで線をかく」
ということである。

| | コメント (0) | トラックバック (0)

Apache Geronimo V1にwebアプリをデプロイする。

Windowsでの話し。

geronimo/docs/index.html をブラウザでなげこみ
Quick Start をみる。

webアプリには、web.xmlと同じところに
geronimo-web.xml というのがいるらしい。
つくっておいてwarにする。

bin/startup.bat で起動
:8080/console にアクセス
system/manager でログイン
Application→Deploy New で、warを指定。

デプロイできた。
最初アクセスしてみたらエラー。
アプリのエラー。
いっかいUninstallして
修正してwarをつくりなおして
またデプロイ
(どっかほっとデプロイありそげだが)

あ、きえてなかった。
redployしろっていわれる
わからんので一回消す
デプロイ
Hibernateのなんかがないっていわれる。うー

org.hibernate.cfg.Configrationがないとかいわれる。うー

var/log/geronimo.log をみる。うー

| | コメント (0) | トラックバック (0)

« 2006年1月 | トップページ | 2006年3月 »