Česky   |  Deutsch   |  English   |  Español   |  Français   |  Indonesia   |  日本語   |  한글   |  Polski   |  Português (BR)   |  Türkçe   |  中文   |  正體中文   |  Your Language  
PlanetNetbeans
プラネット NetBeans には、ブロゴスフィアの各所から集められた、NetBeans に関連する概念やアイデアがあります。
MineAPの(開発)日記 - July 05, 2008 03:56 PM
[雑記]タリーズでコーディングしてきたよ(+ほんの少しHP 2133の動作報告)

今日は暑かった 本日は最高気温が32℃だったようです。タリーズの中も微妙に暖かかった。 今日一番上手く撮れたと思っている1枚。 f:id:MineAP:20080705164453j:image NNDD2近況 NNDD2はただいま鋭意製作中。HP 2133のおかげでタリーズに4時間ほど居座り、コーディングに精を出しておりました(笑) f:id:MineAP:20080705162222j:image 今日はニコニコ動画がメンテしていたのを知らずに開発を始めたので、ダウンロードしにいったら見覚えの無 ...

MineAPの(開発)日記 - July 04, 2008 02:36 PM
[雑記]HP 2133開封の儀。あとGardenの話。

週中2連続の飲み会とかなんとか有って日記を放置しておりました。しかし今日は花の金曜日!HP 2133の開封の儀の様子をお知らせいたします。 まずは外箱。 f:id:MineAP:20080630190733j:image とりあえずかっこわるいね。ビックカメラから持って帰る途中恥ずかしかった。センスアップ希望。 段ボールを開けます。 f:id:MineAP:20080630190850j:image 上の段が小物。下の段が本体。 小物ども。 f:id:MineAP:20080630191035 ...

Masaki Katakai's Weblog - July 04, 2008 05:04 AM
netbeans.org でも遂にフォーラムを導入か

NetBeans の ruby のメーリングリストに入っているのですが、こんなメールが出ていました。

もっと大きなところでアナウンスがあったのか記憶にないのですが、NetBeans でもフォーラムの導入を考えているようです。で、まずは ruby のメーリングリストで使ってみようという案が出ています。もともとフォーラムが欲しいという要望は前からあったわけですが、NetBeans はメール文化が強いというか、メーリングリストのトラフィックは半端じゃないですよね。ただ最近では Nabble.com 経由からの投稿も増えていることは事実ですので、正式なフォーラムを NetBeans.org でホストするのはいいのかもしれません。フォーラム自体は phpBB で試してみるようです。

しんさんの出張所 はてな編 - July 04, 2008 12:00 AM
[NetBeans]さっさと掲示板は導入したほうがいい(特に日本)

netbeans.org でも遂にフォーラムを導入か

特に日本ではMLの文化はないのでさっさと導入したほうがいいですね.

なんといってもMLは大量のスパムと相性が非常に悪い.MLのアーカイブ等でメールアドレスは公開されちゃいますし.これではスパム送ってくれといっているのと変わらない.

日本は掲示板の文化なので(一時無料レンタル掲示板とかすさまじい勢いがあった.今でも十分ある),かなり手軽に書き込んでくれると思います.ブログのコメントも似たようなものですね.メールに比べて抵抗はないはずです.結果,バグ等の報告や質問の解決も一気に増えるでしょう.2倍3倍というレベルではなく10倍くらいは増えるんじゃないかな.

ぼそっと - July 03, 2008 02:48 PM
[フレームワーク][ORM][iBATIS]今までiBATISのことを誤解していました

結局Mercurial問題は解決しないもののOSを入れ替えてしまったので色々と環境の復元に追われている私がきましたよ。

JTerminalを入れなおしたり、finkを入れ直したり、Subversionを入れ直したり、NetBeansを設定しなおしたり、色々大変です。

全然関係無いですけど、10.4までは、起動中のアプリケーションはDoc内でなんか矢印がついていたような記憶があったのですが、10.5になってから印が消えたなーと思ったら、起動中のアプリケーションには矢印じゃなく青い光みたいのが陰っぽい感じでつくようになったんすね。ちょっぴりかっこいい。

それはさておき。

私は今までiBATISのことを誤解していました。それは、

この日の日記に書いているのですが、

  1. resultMapの記述が面倒くさい。
 <result property="userId" column="USER_ID" />
    1. これくらい一々定義しなくてもCoC的にオートでマッピングしてくれても良さそうなものなのだが。
    2. 動的SQLもやりすぎるとテストが大変そう。
  1. sqlMapConfig.xmlのresourceに一々sql-mapファイルを設定しないといけないのが面倒くさい。
    1. hoge.huga.PiyoDao用にhoge.huga.PiyoDao.xmlをおいとけばそこから自動的に読込んでくれるとうれしいのだが。

と、思っていた訳です。

http://ibatis.apache.org/javadownloads.cgi

ここのサイトの「Documentation」の「Japanese」のところを読んでみるに、

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE sqlMap 
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" 
    "http://ibatis.apache.org/dtd/sql-map-2.dtd"> 
<sqlMap namespace="Person"> 
      <select id="getPerson" resultClass="examples.domain.Person"> 
          SELECT 
              PER_ID as id, 
              PER_FIRST_NAME as firstName, 
              PER_LAST_NAME as lastName, 
              PER_BIRTH_DATE as birthDate, 
              PER_WEIGHT_KG as weightInKilograms, 
              PER_HEIGHT_M as heightInMeters 
          FROM
              PERSON 
          WHERE
              PER_ID = #value# 
      </select> 
</sqlMap> 

「上記の実例は、SQL Mapの最もシンプルな形を示しています。ResultSetのカラムとJavaBeansのプロパティ(もしくは、Mapキーなど)で名称が一致しているものを自動的にマップするSQL Mapsの機能を使っています。」

(; ̄Д ̄)

そんな機能があったのか・・・

このJavaDocからリンクはってある、

ここの解説からは、そんなことは読み取れなかったのだが・・・

ということはですね。

 <result property="userId" column="USER_ID" />

これくらい一々定義しなくても、

SELECT USER_ID as userId (略)

と、SQLを書けば、自動的にマッピングしてくれるという訳ですね!?

むむむ。

  1. sqlMapConfig.xmlのresourceに一々sql-mapファイルを設定しないといけないのが面倒くさい。
    1. hoge.huga.PiyoDao用にhoge.huga.PiyoDao.xmlをおいとけばそこから自動的に読込んでくれるとうれしいのだが。

これに関しても、Springと組み合わせれば、

  • SqlMapClientFactoryBeanを継承する
  • ApplicationContextAwareをimplementsする
  • afterPropertiesSet()をオーバーライドする
  • ApplicationContext#getBeanNamesForType()を実行し、SqlMapClientDaoSupportを継承しているクラスのBean-IDを取得する。
  • 取得したBean-IDを元にApplicationContext#getBean()を実行してインスタンスを取得する。
  • 取得したインスタンスのクラス名を取得する。
    • クラス名がhoge.huga.PiyoDaoだった場合、hoge.huga.PiyoDao.xmlをsql-mapファイルと判断。
  • commons betwixtとPipedOutputStreamを利用し、PipedInputStreamに直接sqlMapConfigの内容を書き込む。
  • PipedInputStreamを元にInputStreamResourceを生成する。
  • 生成したInputStreamResourceを、SqlMapClientFactoryBeanのconfigLocationに設定する。

なんていうSqlMapClientFactoryBeanのサブクラスを作れば、物理的にsqlMapConfig.xmlを用意しなくても、アプリケーション起動時に動的にsqlMapConfig.xmlを生成できてメンテナンスが楽かも。

むむむ。

なんだか、急にSpring+iBATISで全然鉄板のような気がしてきました。

へびのぬけがら - July 03, 2008 06:57 AM
Quick Search API を試す

6.5M1 リリース間近という事で、新機能の Quick Search API を試します
元ネタは Geertjan's Blogココココのエントリー、 NetBeans Zoneココになります
(ほとんど上記のコピーです)

今回の例では Wikipedia の記事を検索します
まずは開発版ビルドをダウンロード、インストールします
次にモジュールプロジェクトを作成します
新規ファイル作成ウィザードの Module Development 中に "Quick Search Provider"という項目がありますので、これを選択します


Wikipedia の検索なので、以下のように入力し、関連ファイルを作成しています


次に実装を行います
ソースコードは以下のようにしました
(取り敢えず作った感じなので、結構適当です)


public class WikipediaSearchProvider implements SearchProvider {
private static final String GOOGLE_API_KEY = ""; // キーは各自で設定を行って下さい
private static final String GOOGLE_APIS_DOMAIN = "ajax.googleapis.com";
private static final String JA_WIKIPEDIA_DOMAIN = "ja.wikipedia.org";
private static final String GOOGLE_SEARCH_SERVICE_PARAMS = "?v=1.0&rsz=small&key=" + GOOGLE_API_KEY + "&q=site%3a" + JA_WIKIPEDIA_DOMAIN + "%20";
private static final String GOOGLE_SEARCH_SERVICE_URL = "http://" + GOOGLE_APIS_DOMAIN + "/ajax/services/search/web" + GOOGLE_SEARCH_SERVICE_PARAMS;
private static final String HTTP_REFERER_URL = "http://snakemanshow.blogspot.com";

/**
* Method is called by infrastructure when search operation was requested.
* Implementors should evaluate given request and fill response object with
* apropriate results
*
* @param request Search request object that contains information what to search for
* @param response Search response object that stores search results. Note that it's important to react to return value of SearchResponse.addResult(...) method and stop computation if false value is returned.
*/
public void evaluate(SearchRequest request, SearchResponse response) {
try {
URL url = new URL(GOOGLE_SEARCH_SERVICE_URL + URLEncoder.encode(request.getText(), "UTF-8"));
URLConnection conn = url.openConnection();
conn.setRequestProperty("Referer", HTTP_REFERER_URL);

JSON json = new JSON();
HttpResponse httpResponse = json.parse(conn.getInputStream(), HttpResponse.class);
List results = httpResponse.getResponseData().getResults();

if(results != null) {
for(GwebSearch search : results) {
if(!response.addResult(new OpenFoundArticle(search.getUnescapedUrl()), search.getTitleNoFormatting()));
}
}
} catch (IOException e) {
Exceptions.printStackTrace(e);
}
}

private static class OpenFoundArticle implements Runnable {

private String article;

public OpenFoundArticle(String article) {
this.article = article;
}

public void run() {
try {
URLDisplayer.getDefault().showURL(new URL(article));
} catch (MalformedURLException e) {
Exceptions.printStackTrace(e);
}
}
}
}

NetBeans API は 作成時に追加される Quick Search API 以外に UI Utilities API、 Utilities API を追加しており、 JSON のパースには JSONIC を使用しています
(JSONIC は依存パッケージもなく、使用方法も直感的とすばらしいライブラリです)

実行すると、以下のように Wikipedia から関連記事のタイトルを表示します


もちろん、日本語でも検索できます


NetBeans ソースコード検索用のモジュールを作成すると、ソースコードリーディングが楽になっていいかも…

しんさんの出張所 はてな編 - July 03, 2008 12:00 AM
[Java][NetBeans]NetBeans 6.xでjavax.faces. STATE_SAVING_METHODが設定されていない

5.5.1まではたしかclientがセットされていたはず.

じゃあサーバーでのセッション保存になっているかといえばそういうわけでもないようだ.ちゃんとhiddenにわたされている.

ということはデフォルトがclientになったのか.それとも5.5.1のときはJSF1.1で作っていたっけかな?

ぼそっと - July 02, 2008 05:33 PM
[NetBeans][Mercurial][バージョン管理][NetBeans6.1]LeopardのNetBeansでMercurial

さて。MacのNetBeansでMercurialに挫折して久しい訳ですが、なんとなく

Mac 10.4だからだめだったのかも?

と、根拠もなく思い始めました。まぁ、期待する訳でもなかったのですが、10.5にあげるいい機会かなーとも思ったので、さっそくMac 10.5とバックアップ用の外付けハードディスクを買いにいった訳です。

特に期待していた訳でもなかったのですが、ひょっとしたら同じことで悩んでいる人もいるのかも?と思い、「Mac 10.4 Mercurial NetBeans」でぐぐってみました。

ぐぐって1番目および2番目に私のブログが出てくるあたり、なんだか非常にマイナーなことをしている気分になってきてさらに期待薄だった訳ですが、3番目にNetBeans6.1のリリースノートが出てきたので何の気なしに眺めていました。

現在、Mercurial 1.0 は、Mac 10.4 では使用できません。

と、思いっきり書いてあるじゃないですか・・・

そうですか、使えなかったんですね。

逆に言えば、Mac 10.5では使えるんですね?

そんなこんなで、wktkしながらMac10.5をインストールして、いの一番にNetBeansとMercurialをダウンロードしてインストールしてみました。

・・・

10.4のときと全く同じ動作じゃないですか・・・

やっぱり、ローカルリポジトリへのコミットの段階で既にうまくいきません。そして、相変わらずコマンドラインから

hg commit -m "commit test"

とか実行するとうまくいきます。どうやら、別段10.4が悪かった訳ではないみたいです。

振り出しに戻ってしまいました。

相変わらずMercurialはお手上げです。

Masaki Katakai's Weblog - July 02, 2008 12:27 PM
my.netbeans

my.netbeans.org というのがあるのですが知ってますか。登録しておいてプロジェクトの検索やら人とのネットワークを作っていこうというものです。またブログに貼る事の出来るウィジェットが作れます。たまにこのウィジェットが貼ってあるのをみかけますよね。

my.netbeans には前から登録してあったのですあまり使っていませんでした。以前ウィジェットを貼ろうとしたのですがその時は私のブログでは表示されず…理由はすぐにわからなくて諦めてしまいました。つい最近また translatedfiles.netbeans.org プロジェクトのほうでみんなで my.netbeans やろうよ〜という話が出てたので再度チャレンジしてみました。あぁ、よかった、今回は無事に貼ることができました。



追記:少し重い感じがするのでやっぱり取りました ^^;)

Masaki Katakai's Weblog - July 02, 2008 05:48 AM
NetBeans の Java SE 6 日本語 API Doc プラグイン

通常日本語の Java API doc を NetBeans から使うようにするには、次のようにします。zip は展開しなくても大丈夫なはずです。

  1. http://java.sun.com/javase/ja/6/download.html から zip をダウンロード
  2. ツール>Javaプラットフォーム
  3. Javadoc にその zip を追加
これをしておくと、
  • コード補完時に API doc が日本語で表示されたり
  • 「ヘルプ」>「Javadoc 索引検索」で日本語が使えたり
  • 「ヘルプ」>「Javadoc 参照」でブラウザで参照できたり
  • 「ウィンドウ」>「その他」>「Javadoc ビュー」で日本語が表示できたり
といろいろうれしいです。

ところでこの Java API doc ですが、プラグインの形で提供されています。zip をダウンロードする必要もありませんし、設定する必要もありません。
  • Java SE 6 API Doc Japanese Version
を選択してインストールしてください。


しんさんの出張所 はてな編 - July 02, 2008 12:00 AM
[NetBeans]NetBeans 6.1でJavaDocを日本語化するのが比重に手軽

NetBeans の Java SE 6 日本語 API Doc プラグイン

おお,こんなのがあるんだ.

と思い,6.0で起動すると英語バージョンしか出てこない上にベータ版.あいかわらずNetBeansは少しでも古いバージョンは鬼門だぜ.他のIDEは大概かれてきた1,2世代前のバージョンを使うほうがバグの把握等もしっかりわかっていたりして便利だったりするのだろうが,NetBeansは昔から1ヶ月くらいたってよっぽど致命的なことがなかったらもう最新版にのせかえたほうがいいというすすめ方してると思う.バグは新しいバージョンじゃないと取れていないということが非常に多いからだ.

今度は6.1で起動してみる.お,日本語版があった.しかもこちらはちゃんと正式版.しらなかったのでいままでどおりJavaDoc落として設定してましたよ.まぁJavaDoc単体で開くことも多いからいいんだけど.


NetBeans4.1まではマージDocが必要だったのを考えると進歩してるなぁと思った.4.1ってバージョンは6.0,5.5.1,5.5,5.0,4.1と数えるともう5世代も前なのか.時の流れは速い.

Masaki Katakai's Weblog - July 01, 2008 09:45 AM
NetCAT 6.5 : NetBeans Community Acceptance Testing Program

早いものでもう NetBeans 6.5 の NetCAT プログラムのアナウンスです。

詳細は上記のページをご覧下さい。簡単に言うとコミュニティベースの QA プログラムです。登録ページから登録することができます。メールやバグレポート、サーベイなどは基本的に英語ですが日本からも多くの方が参加していただけるとうれしいです。NetBeans 6.5 の品質向上に力を貸してください!

NetBeans の特にリリース直前のクオリティに疑問を感じている方もいるかもしれませんね。そういう方は是非参加してみてください。このプログラムを通して登録されたバグレポートは優先度が上がります。

    

あ、そういえばこの NetCAT のロゴ、猫ですよね。ねこといえばねこび〜ん。ということでこんなアイコンも作ってみました。単にペタっとしただけですが ^^;)

Masaki Katakai's Weblog - June 30, 2008 04:07 PM
NetBeans 翻訳プロジェクトTシャツ第2弾

NetBeans の翻訳プロジェクトで今回 T シャツを作りました。左が表で右側が裏です。さてどれが何語でしょう?日本語、ハングル、漢字はわかりますけどそれ以外はさてさて…実は私もわかりません ^^;



このTシャツは第2弾です。初代のデザインの T シャツは happy_ryo 氏がこの写真のようにかっこよく着てくれていますが、日本語コミュニティでブログ書いてくれている方とか、FAQ の翻訳に参加してくれた方とか、オリジナルコンテンツを提供してくれた方などにお配りしました。この第2弾もみなさんに配れるように現在交渉中です。


Masaki Katakai's Weblog - June 30, 2008 11:35 AM
How to build localized NetBeans 6.1 for your language

If you want to build localized jar files of NetBeans Platform on your local environment, please try the following step. You can use these jar files with your NetBeans Platform based applications. To build localized jar files, you need to build NetBeans 6.1 first, then build localized jar files. The detail instruction of l10n-kit and localizing NetBeans is described in

General information about NetBeans sources and build instruction is described in 1. Get NetBeans sources.
% hg clone http://hg.netbeans.org/release61
destination directory: release61
requesting all changes
adding changesets
adding manifests
adding file changes
added 77536 changesets with 361898 changes to 79879 files
77396 files updated, 0 files merged, 0 files removed, 0 files unresolved
%
2. Edit release61/nbbuild/user.build.properties. If necessary, please define cluster in nb.clusters.list.
build.compiler=extJavac
javac.compilerargs=-J-Xmx512m
nb.clusters.list=nb.cluster.nb,nb.cluster.platform,nb.cluster.ide,nb.cluster.java
3. Set ant option then run ant
% export ANT_OPTS="-Xmx196m"
% cd release61
% ant
4. Run build-nbms. To run the target of building localized jar file, it seems that we need to build nbms files. Run build-nbms target too.
% ant build-nbms
5. Get localized files under release61/.
% hg clone http://hg.netbeans.org/release61/l10n
destination directory: l10n
requesting all changes
adding changesets
adding manifests
adding file changes
added 177 changesets with 27064 changes to 21005 files
20706 files updated, 0 files merged, 0 files removed, 0 files unresolved
%
When you want to localize files, pick up l10n-kit of NetBeans Platform. Once you localize them, put your files into src/<lang> directory. For example, if you localize Spanish files, put your files into src/es.

6. Run ant under l10n/.
% cd l10n
% ant
Localized jar files will be created under dist/ directory. ja, zh_CN and pt_BR files are created by default. If you want only specific language, please use locales property like below.
% ant -Dlocales=ja
7. Copy localized jar files into your NetBeans 6.1 installation directory.
8. Run NetBeans in proper locale environment. Or use --locale option to specify the language option.
% netbeans --locale zh:TW

Masaki Katakai's Weblog - June 30, 2008 03:57 AM
NetBeans開発ビルドにGroovyとGlassFish V3 TP2

NetBeans の Python サポートが 6.5 をターゲットとしているという話もありますし、PHP はすでに開発ビルドに入っていますし、6.5 も大きなリリースになりそうな予感がしてきましたが、開発ビルドをながめていたらこの他に Groovy も入ってきたようです。また GlassFish V3 の TP2 もすでにバンドルしてきていますね。

このリリースも早めに手をつけないといけないでしょうね。ソースを取ってきて調べてみようかな〜と思っているところです。6.5 のマイルストーンからするとそろそろ M1 ですね。来月にはもう Feature Freeze ですか…は、早い…

Servlet Garden @はてな - June 29, 2008 10:20 PM
NetBeansのPython環境

NetBeansでPythonの開発ができるのかどうか試してみました。確かにスクリプトを書いて動かすことはできるけれど、開発ができるかというと、残念ながら、とてもまだできそうにない感じでした。Rubyの開発環境とは雲泥の差です。加えて、Linuxではなんとか動かせましたが、OSXでは動きませんでした。今後に期待、です。 とりあえず、動かすまでの手順ですが、 NetBeansのdaily開発版を入手する [https://nbpython.dev.java.net/servlets/ProjectDocumentList?folderID=9371&expandFolder=9371&folderID=0:title]からM3 nbmsを取得して展開する NetBeansを起動してプラグインをインストールする Tools > Plugins > Downloaded > Add Plugins.. ここでM3 nbmsのアーカイブに入っているすべてのnbmファイルを選択する > Install jythonのパーミッションを修正する  インストールしたNetBeansのディレクトリ以下にある nbpython/jython-2.5/bin/jythonファイルに実行権限を追加(ex: chmod 744 jython) NetBeansを再起動する これで、PythonプロジェクトやPyhonのファイルを作れるようになります。実行するにはProjectsウィンドウ上で、ファイルを選択して右クリックすると”Run Python Script”メニューが現れるのでこれを選択して実行します。 Nativeのインタープリタを使う場合は Tools > Options > nbPythonでコマンドを指定できるようになっています。 参照: [http://blogs.sun.com/amitsaha/entry/nbpython_python_development_on_netbeans:title]

ぼそっと - June 29, 2008 03:18 PM
[NetBeans][FindBugs][NetBeans6.1]NetBeansでFindBugs

先日、nbcheckstyleに代わるcheckstyle beansがあることを発見したので、実はFindBugsにもそのような新しいNetBeans用のプラグインがあるのでは無いかともう一度探してみたところ。

こんなものがあるじゃありませんか。

FindbugsどころかcheckstyleもPMDもその他色々、これ一個でSoftware Qualityは万全ですってことらしい。

なんてこったい

実は、nbcheckstyleどころかcheckstyle beansもはずれで、このSQEが当たりだったということでしょうか。

そんな訳で、さっそくcheckstyle beansを一旦アンインストールして、以下のアップデートサイトからSQEをインストールしてみることにしました。

インストール対象のプラグインは、以下の三つみたいです。

  • SQE Update Center
  • SQE Java
  • SQE Platform

さっそくインストールして、念のためNetBeansを再起動してみたのですが・・・

さっぱり分かりません

なんだか分からないけど、Javaソースを開くたびに右下に道路標識の進入禁止みたいなアイコンがペコペコ点滅します。ダブルクリックしてみると、何やらSQEがらみのクラスが「ぬるぽ」をスローしている模様。メニューバーに現れた「Quality→Information」をクリックしても、同様に何やらヌルポを発生している模様。

なんだろう

ひょっとしてJava6以上じゃないと駄目だとかそういうことなのだろうか。それとも、

https://sqe.dev.java.net/

このサイトに「SQE is now built against NetBeans 6 RC1.」とか書いてあるように、NetBeans6.1ではまだ動作しないとかなのでしょうか。

それにもまして、「オプション→Quality」のところで、FindBugsとPMDには何やらオプション設定があることは分かったのですが、checkstyleのところには「No Configuration available yet」と表示されるのみで、何も設定項目が無いように見えるのですが。

ようするに

checkstyleのチェック内容をカスタムすることは現状できないということでしょうか。

むむむ・・・

FindBugs、CheckStyle、PMD等々、品質関連のプラグインをSQE一つで全て提供というコンセプトは良いと思うのですが、チェック内容をカスタムできないというのはちょっと痛いです。

仕方が無いので、CheckStyle Beans同様今後に期待ということで、このプラグインはしばらく寝かせておいて当面の間やはりFindBugsはantかmavenでレポートを出して確認することにします。

品質関連のプラグインをオールインワンということで、ついでにJMockitやCode Coverage Pluginあたりもオールインワンされないかしら。

そういえば、品質関連といえば、NB JUnit IDE Integrationってインストールすると何ができるようになるのだろう?一応入れてみたものの、これも良くわかりません。

ぼそっと - June 29, 2008 06:22 AM
[NetBeans6.1][CheckStyle][NetBeans]NetBeansでCheckStyle

私は今まで、NetBeansでCheckStyleといえばこれなんだと思っていました。

でも、昔(5.5.1くらいの頃)は使えていたような記憶があるのですが、6.1でインストールしようとしても「プラグイン Checkstyle に必用なモジュールが見つかりません: module org.openide.src」と言われてインストールできない。

まだ6.1に対応していないのかな?

と思ったものの、nbcheckstyleの最終リリースは2005年9月24日で正式サポートしているNetBeansは4.1という明らかに開発が止まっている気配。

NetBeansではあまりcheckstyleは使われていないのかな?

と、諦めかけていたのですが。この、

checkstyleのサイトをもう一度よーく見てみると、「Checkstyle Beans」なるものがあるらしいじゃないですか。

なるほど。開発はこちらに移っていたのですね。

このダウンロードサイトを見るに、オンラインインストールも用意されていて、NetBeans6.xにも対応しているらしい。そんな訳で、さっそくインストールしてみました。

一応、インストールすると「オプション設定→その他」のところにチェックスタイル用の設定パネルが現れます。

そこで、自分で作ったcheckstyleの設定(XML)を読込むことができ、その設定に基づいたチェック結果はソースコードエディタの左のところに、コンパイラの警告と同じように表示されるようです。

  1. EclipseのプラグインみたいなGUIベースの設定ツールは無い
    1. checkstyle.xmlはテキストエディタとかで手作り
  2. プロジェクトエクスプローラ上でcheckstleの警告が出ているファイルとそうで無いファイルの見分けがつかず、ファイルを開いてみないと警告(や、エラー)があるか無いか分からない
  3. 使用する設定ファイル自体を変更したり、設定ファイルの内容を変更すると、再起動しないと反映されないような気がするのだが、そのようなメッセージは何処にも表示されないような
  4. 同じ設定でもeclipseとnetbeansで微妙に結果が違うような
    1. 例えば、「JavadocStyle」の「checkFirstSentence」をtrueにすると、eclipse上ではJavaDocコメントの最初の一文が「.」で終わってない場合は「最初の一文はピリオドで終わらなければなりません。」と表示されるのだが、NetBeans上では特に何も表示されない
    2. 「package.html」がパッケージに存在しないと警告を出すオプションとかも、当然ながら効果が無かったり

あたりが微妙な気が。

  1. ・・・微妙だけど、Eclipseのプラグインでcheckstyle.xmlを作るのが楽かも。
  2. ・・・やっぱ、antなりmavenなりでレポート出して確認するしか無いかな。
  3. ・・・まぁ、都度忘れずに再起動するしかないかな。
  4. ・・・うーん。やっぱこれもレポートで確認するしか無いか

な、感じで、現状は結局のところ、役に立たなくは無いけど、なんだかんだでレポートで確認するしか無いようななんなような。今後に期待です。