CheckStyle4.4.2の設定を仕事で使えるように修正してみた
Struts1.3.8 Coreのソースを利用してチェック。
最初の一文はピリオドで終わらなければなりません。 日本語だとピリオド使わないのででてしまうメッセージ。
Javadocコメント>Style Javadoc>checkFirstSentenceのチェックを外す。 パッケージドキュメンテーションが見つかりません。 パッケージドキュメントをあんまり書かないのでチェック要らないかなと。
Javadocコメント>Package Htmlのチェックを外す。 Line has trailing spaces. 行末に空白がある場合に出る。フォーマッタで整形できるけど、コードテンプレートでJavadocコメントについてしまう。よってコメントだけはずすように修正。
その他>Generic Illegal Regexp>ignoreCommentsにチェックを入れる。 メソッド ‘X’ は拡張するように設計されていません – abstract か final か空である必要があります。 拡張しないならfinalつけろとかいうけど、厳しすぎるのではずす。
Class Design>Design For Extensionのチェックを外す。 Parameter model should be final. Javaは値渡ししか存在しない。予定は未定Blog版を参考のこと。しかし、「aaa[10]=10」みたいに内部の情報(参照先っていったほうがいい?)を変更できる。ややこしいので、はずしてみてます。今のところ困ってない。
その他>Final Parameterのチェックを外す。
Eclipse3.4フォーマッターを改良
ウィンドウ>設定>Java>コード・スタイル>フォーマッターで設定。
インデント>スペースのみに修正 空白>配列>Array Initializersの左中括弧の後、右中括弧の前のチェックをcheckStyleでひっかかるので外す
タブはJDKのソースがタブを使っていなかったので修正。
formatter.xml
Eclipseの内部ブラウザを起動させる
Eclipseの起動時にブラウザを起動させるでは強引にブラウザを起動したが、Eclipseには内部ブラウザってものがあるので、そちらを起動する方法を調べた。
内部ブラウザの起動
ブラウザを操作するクラスを作成してみた。
package fplugin; import java.net.MalformedURLException; import java.net.URL; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.browser.IWebBrowser; import org.eclipse.ui.browser.IWorkbenchBrowserSupport; public class BrowserManager { public static final String URL = “http://daipresents.com/”; public static void openBrowser(String url){ IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport(); if (browserSupport.isInternalWebBrowserAvailable()) { try{ IWebBrowser browser = browserSupport.createBrowser( IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR | IWorkbenchBrowserSupport.AS_EDITOR, “id1″, “daipresents.com”, “こんにちは世界。” ); browser.openURL(new URL(url)); }catch (PartInitException e){ }catch (MalformedURLException e){ } }else{ try{ IWebBrowser browser = browserSupport.getExternalBrowser(); browser.openURL(new URL(url)); }catch (PartInitException e){ }catch (MalformedURLException e){ } } } }
設定が外部ブラウザの場合はそちらを開くようにしている。
あとは、これをActionのinitメソッドから呼び出せばよし。ログインユーザ名はSystem.getPropertyで取得可能。
public void init(IWorkbenchWindow window) { this.window = window; String name = System.getProperty(“user.name”); BrowserManager.openBrowser(BrowserManager.URL + “?user=” + name); }
initメソッドはメニューが初期化されたときによばれるので、Eclipseが起動した後によばれるのに近い。それでも失敗する場合があったのでだめかもしんないなー。
Eclipseの起動時にブラウザを起動させる
Eclipseの利用履歴をとりたくなったので調べてみた。
今回やりたいことは
Eclipseを使っている人の特定 Eclipseの使っている回数などの統計取得
なので、起動時になんとかできんかなーと思ったんだけどなかなかない。
そこで考えたのが、Eclipse起動時にユーザ名とかパラメタを拾って、どっか統計取るページをブラウザで開いたらどうかなーと。
たとえば、Windowsのログインユーザ名とかだったらとれる気がするので、
http://daipresents.com/toukei.jsp?user=fujihara
みたいにして統計をとれば、ブラウザを強制起動するだけでなんとかなる。Eclipseの起動用バッチファイルを作ってそれをたたいてもらうとか考えたけど、いきなりeclipse.exeをたたかれるとこまるわけだ。
そこで、Eclipseのプラグインを使い。Eclipse起動時に行う、プラグインの初期化処理にブラウザ起動をいれてみる。
プラグインの作成
今回はEclipse3.4を使っている。
Eclipseを開いて
新規>その他>プラグイン開発>プラグインプロジェクト
を選んで次へ。環境に合わせ、適当に進んでいくと「テンプレート」が選べるので、「Hello,World」テンプレートを選ぶ。
これを選ぶと、Eclipseのメニューに「サンプルメニュー」とかがでるようになり、その中にある「サンプルアクション」を選ぶと「Hello」というメッセージボックスが出るみたい。
今回は使わなくてもいいんだけど、サポートページとかプロジェクトのページ(Tracとか)のリンクを張るのもいいかもしんないので、そのままおいとく。
作んなきゃいけないのはこれで終わり。
実装
ウィザードで作成すると以下のクラスができるはず。
Activator.java SampleAction.java Activator.java
これはプラグイン本体ぽい。このクラスで「org.eclipse.ui.IStartup」をimplementsしておく。このIFは起動時になにすんの?みたいなもののインタフェースらしい。
Eclipseの起動時にプラグインを全部動かすと、起動が重くなるので、このIFを実装したものだけ起動時に活性化してくれるらしい。
起動時にブラウザをちょろっと開いてほしいので、StartupインタフェースのearlyStartupメソッドに処理を記述する。
@Override public void earlyStartup() { String browserName = “C:\\Program Files\\Internet Explorer\\iexplore.exe”; String url = “http://www.google.co.jp/”; try{ Runtime.getRuntime().exec(new String[ ] {browserName, url}); }catch (IOException ie){ ie.printStackTrace(); } }
このメソッドを読んでもらうには、plugin.xmlにのplugin要素内に以下を記述する。
<extension point="org.eclipse.ui.startup"/>
これでプラグインの概要ページから「Eclipseアプリケーションの起動」を選べば、別Eclipseが開いてEclipse起動後にブラウザが立ち上がるはず。
でもActivatorのearlyStartupメソッドにかくと、Eclipseが開く前によばれるせいか、うまくブラウザが開いてくれないみたい。むむむー。
SampleAction.java
これはメニューの中にあるサンプルアクションがクリックされたときに実行されるものっぽい。runメソッドにメッセージボックスの記述があるので、それを書き換えてみるとよし。
Eclipseの文字コードを変更する
Eclipseの初期値はMS932になっている。これを変更したい場合の設定を調べた。ちなみにMS932とShift-JISは機種依存文字などが微妙に異なるので注意。
Eclipseの関連プロジェクト
Toolsプロジェクト
主に開発ツール
AspectJ AspectJ Development Tools C/C++ IDE COBOL Graphical Editor Framework (GEF) Project PHP VE PTP Web Tools Platform(WTP)プロジェクト
J2EE関連。重いけどこれだけでJ2EE開発がとても便利になる。サーバと組み合わせて使うと便利だけど、すごく重くなる。
http://www.eclipse.org/webtools/
HTML、CSS、JavaScript、XML、XSD、DTDの各種エディタ Internet、Validation(内蔵ブラウザはSDKに含まれる) WSDL、Web Service Explorer、UDDI Query Data Tools、SQL Scrapbook EMFとXSDとSDO、GEFとJEMが必要(ダウンロードページにリンクがあるのでそこからおとすべし) Data Tools Platform(DTP)プロジェクト
DB関連らしい。作成中ですわ。
http://www.eclipse.org/datatools/ Test & Performance Tools Platform(TPTP)プロジェクト
アプリケーションのテスト、トレース、モニタリングなど。プロファイラでソースの解析を行うことができる。
作成中ですわ。
http://www.eclipse.org/tptp/ Visual Editor Project
SwingとSWTのGUIなど。作成中ですわ。
http://www.eclipse.org/vep/ AspectJ Development Tools(AJDT)
Aspect指向。作成中ですわ。
http://eclipse.org/ajdt/ Business Intelligence and Reporting Tools(BIRT)
レポーティング機能および分析。データの抽出と分析を行うことができる。
作成中ですわ。
http://www.eclipse.org/birt/phoenix/ C/C++ Development Tools(CDT)
C/C++関連。作成中ですわ。
WTP2.0
使い方メモ
サーバのワークディレクトリをクリアする
サーバビュー右クリック>Clean Tomcat Work Directry
Tomcat6.0からTomcat5.5に乗せ変えてテストしようとしたが、以下のように「サーバーは、バージョン2.5のJ2EE Webモジュール仕様をサポートしていません」と表示される。
web.xmlを2.4にすればいいかと思ったが、Eclipseのプロジェクト自体がServletのバージョンを持っているらしい。これらはファセットとして管理されているので、プロジェクトを右クリック>プロパティ>プロジェクト・ファセットを見れば確認できる。
修正ボタンを押して修正画面を開いても、Javaのバージョンを変えることはできたが、Servletのバージョンを落とすことはできなかった。(上げるのも同じかも)
なので、この「ファセット済みプロジェクトの変更」でJavaとServletのバージョンを特定して、「保管」ボタンを押してファセットを保存。
そして、めんどくさいけどプロジェクトを削除(ファイルはどっかに保存)して、もういちど「動的Webプロジェクト」を作成する。
そのときに、ファセットの選択ができるので、そこで先ほど保管したファセットを選べばうまくいった。
WTP1.5.0
WTP1.5.0とTomcat5.5の自動公開で
No action config found for the specified url
URIを見ると、「index.jsp」ではなくて「index.do」になっていた。なぜじゃ。Eclipse再起動で解決
WTP1.0.2
J2EEアプリケーションの開発ツール。JSPのデバッグ等も可能。
使い方 サーバを追加する
テスト用に使っているTomcat5.5.20をEclipse上から操作できるようにする。
まずは追加
Tomcatを追加して次へ。WebLogicとかJBossもOK。
TomcatのインストールディレクトリやJRE(使いたいJavaのバージョン)を指定。
サーバが追加されるのでこれでOK。
プロジェクトのライブラリにサーバーランタイムを追加する。これで、J2EE関連のJarなどがプロジェクトから参照される。今までは「jarの追加」などをしていたので便利になった。
サーバランタイムを選択して・・・
先ほど追加したサーバを選択すると完了。Tomcat5.5.20の場合は「Tomcat 5.5\common\lib」が読み込まれるみたい。
サーバタブでサーバの起動などもできるようになる。
Webアプリケーションの同期(デプロイ)
Webアプリケーションのデプロイはサーバービューのサーバを右クリックして「公開」で同期化されるみたい。web.xmlを更新すると状態が「再
公開」になるので「公開」してあげなければならない。これをやると「同期済み」になるJavaクラスとJSPはリアルタイムで同期してくれるようだ。
でも、再開となってしまうと、Webサーバの再起動が必要。web.xml、struts-config.xmlなどは再起動が必要。
サーバービューのサーバをダブルクリックして、自動公開のところにある編集リンクをクリックする。
「サーバの起動必要な場合自動的に再起動」にチェックすると、自動で再起動してくれる。
Eclipseからantを実行するとOutOfMemoryでEclipseが落ちる
Eclipseで実行するとOut Of MemoryになっていきなりEclipseが落ちてしまう。なので、Antを呼び出すバッチファイルを作成して対応するしかない。
#ちなみにShift-F2でJavadocを開いても遅くなる気がする。Eclipseから外部プログラムを呼び出すのが怪しい。
set ANT_HOME=C:\All-In-One-Eclipse\eclipse\plugins\org.apache.ant_1.6.5
set JAVA_HOME=C:\jdk1.5.0_06
set CLASS_PATH=%JAVA_HOME%\lib
d:
cd D:\daipresents\project\axis2_111_SampleService
call %ANT_HOME%\bin\ant compile.service generate.wsdl generate.service clean -q
pause
EclipseのRTDを使ってRubyプログラミング
Pydevのインストールと設定など
clipseで使えるプラグイン。Pythonの実行環境&開発環境を簡単に。
Pydevダウンロード インストール
ダウンロードしたものを解凍してEclipseのフォルダにかぶせる。
設定
ウィンドウ>設定でインタプリタにPython.exeを設定する。
気になったこと
タブを使うと日本語が化ける場合があるので、半角空白がおすすめ。
Eclipseのプラグイン
よく使うものを。
プラグイン Jadclipse
デコンパイル http://muimi.com/j/eclipse/use_plugin/jadclipse/ プロパティエディタ JStyle Project Amateras
Stepカウンタ StrutsIDE UML Weblogicプラグイン1
2はEclipse3.2でどうさせず(WTPでもおなじことできるのでいらないかも) CheckStyle
コーディング規約チェック http://www003.upp.so-net.ne.jp/kaz-taka/checkstyle/index.html Subclipse
Subversionとの連携 http://server.seasar.org/manual/install_subclipse.html FindBugs
バグの静的チェック http://www.atmarkit.co.jp/fjava/rensai3/eclipseplgn02/eclipseplgn02_1.html QuickREx
正規表現の確認 update site:http://www.bastian-bergerhoff.com/eclipse/features/
Subclipseプラグイン
バージョン管理サーバ。これをEclipseから使う。バージョンは1.1.10。
インストール
Eclipse3.2の場合です。(詳細(英語))
ヘルプ>ソフトウェア更新>検索およびインストール
インストールする新規フィーチャーを検索>次へ>新規リモートサイト
名前:Subclipse
URI:http://subclipse.tigris.org/update_1.2.x
OKを押して終了。
検索結果がでてくるのでインストールするフィーチャーを選択
Subclipse 1.1.10
Mylar Integration1.0.1はエラーになるのでいれなかった。
次へ>同意して次へ>終了
これでダウンロードが開始となる。終わったら「すべてインストール」をクリック。
再起動を求めらられるのでOKとして再起動。
設定
プロジェクト右クリック>チーム>プロジェクトの共用
SVNを選択して次へ
ロケーションにSubversionのサーバURIを入力して次へ
プロジェクトをつっこむフォルダ(turnk/ProjectNameとした)を選択して次へ
初期インポートのコメントを入力して終了クリック
ユーザ名&パスワードを聞かれるので入力してOK
コミットするファイルを選択。注意としてEclipseのプロジェクトファイルとかはいれると困るときがある
チェックインするファイルを選択してGO。
使い方 svn:ignore
除外リスト。管理対象としないファイルを明示的に登録する。
キーワード
追加したキーワードをソース上で使えるようになる。どっかの設定で、全てのファイルでキーワードが使えるようにできるらしいが、それ以外の場合は、1ファイルごとにつけていくか、プロジェクト右クリックして全部につけるか(これはすごく重い)しないといけない。
設定後、ソースに以下の記述をしてみた。
<h3>$LastChangedDate$</h3>
<h3>$LastChangedBy$</h3>
コミットするとこうなった。
<h3>$LastChangedDate: 2007-08-17 17:26:42 +0900 $</h3>
<h3>$LastChangedBy: fujihara $</h3>
その他クライアント
WindowsのエクスプローラでSubversionを使えるのがTortoiseSVN。日本語化パックも提供されている。
トラブルシューティング
パッケージ名の修正後、コミット時に以下のエラーが発生
Item is out-of-date
svn: Commit failed (details follow):
svn: Item ‘/trunk/TestProject/src/com/daipresents/’ is out of date
この場合、一回更新してからコミットすればOK。
僕について
Dai Fujihara
A hero can be anyone.
藤原大はマネージャでありアジャイル実践者だ。そして、プロジェクトリーダー、チェンジ・エージェント、アジャイルコーチ、トレーナーでもある。彼はまたRedmine、Jenkinsといった開発を支援するツール環境の整備や、アジャイル開発を活用した創造的なソフトウェア開発の支援を行っている。さらに、趣味は沖縄離島巡りらしい。
ここ最近の人気
アジャイルコミュニティは超めんどうくさい… 842 view(s)
3年使ったRedmineの使い方について共有したい10の… 506 view(s)
開発ツールを使うと「思いやり」が減る(前半) #swat… 498 view(s)
開発ツールを使うと「思いやり」が減る(後半) #swat… 358 view(s)
チームとタワーを創造せよ!マシュマロチャレンジでチームビ… 275 view(s)
Javaで入力チェックに使える正規表現まとめ… 180 view(s)
Redmineプラグイン開発 – 史上最高のチームプラグ… 136 view(s)
LinkStationのようなNASを買ってもバックアッ… 98 view(s)
DAOとかDTOとかVOとかEntityとか… 92 view(s)
Redmineプラグイン開発 – パーキングロットチャー… 80 view(s)
永久保存の本
Jonathan Rasmusson (著), 西村 直人 (翻訳), 角谷 信太郎 (翻訳)
アジャイルサムライ―それはソフトウェアを顧客に届ける猛々しきプロフェッショナルだ。本書では、圧倒的なアジャイルプロジェクトの姿を見せる。2011年爆発的にヒットしたアジャイル開発に情熱を持つエンジニアに届けたい本。
Mike Cohn (著), マイク コーン (著), 安井 力 (翻訳), 角谷 信太郎 (翻訳)
採用した現在のタイトルは、見積りや計画づくりといったプロセスを、アジャイルに進めなければならないと謳っているのだ。見積りと計画づくりがアジャイルでないのに、プロジェクトがアジャイルであるということはありえない。(イントロダクションより)
Venkat Subramaniam (著), Andy Hunt (著), 木下 史彦 (監訳), 角谷 信太郎 (監訳)
アジャイルな習慣とは一体何なのか?本書ではプラクティスを交えながら、その姿勢を読者に問いかけている。世代や役割をこえて色褪せない「アジャイル」に対する良書。Amazonレビュー
メアリー・ポッペンディーク (著), トム・ポッペンディーク (著), 高嶋 優子 (翻訳), 天野 勝 (翻訳), 平鍋 健児 (翻訳)
「トヨタ生産方式」を源流にする「リーン開発」をソフトウエア開発に取り入れるための具体的方法を紹介した本です。本書は、リーンの7大原則を「価値」「ムダ」「スピード」「人」「知識」「品質」「パートナー」に整理し、ソフト開発現場にどうしたら効果的に適用できるかを、多くの実例を交えながら具体的に説明します。
タグ
Agile ant Apache bash Eclipse GlassFish install Java Javascript kobo Linux log4j Management Maven Open Source PHP Pukiwiki Python Redmine Ruby Ruby on Rails Scrum Spring Struts Struts2 Subversion Test Tomcat Trac VBA Web WebDriver WebLogic Windows WordPress 働く 勉強会 嫁(ベータ) 思い出し笑う 我思う 旅する 映画/ドラマ 英語を話す 読むと聞く 過去を語るアーカイブ









