1. 無料アクセス解析

crossroad's Blog

Javaを中心にした技術ネタなど。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

セキュリティ対策は理解できるけども...


情報セキュリティが叫ばれ始めて久しい昨今、
ソフトウェア開発の現場も随分厳しくなってきました。


インターネットが自由に(もちろん、業務利用だけですよ)できる現場は
ほとんどないんじゃないでしょうか。
運用ルールやプロキシサーバで制限されているくらいならともかく、
全くインターネットに繋がってない(つまり、イントラだけ)と言う現場もありますね。


あとはフリーウェアの導入も制限されることも少なくないですね。
僕も使い慣れたフリーウェアがあって、やっぱりこれらがないと
作業しにくいんですよね。

 Opera(ブラウザ)
 Thunderbird(メーラ)
 Meadow, xyzzy, サクラエディタ(テキストエディタ)
 Explzh(圧縮解凍ツール)
 Cygwin(Unixツール)
 ペースター(クリップボード拡張)
 CraftLaunch(アプリランチャ)
 FreeMind(マインドマップツール)
 JUDE(UMLモデリングツール)
 Trac or Redmine(チケット管理ツール)
 Subversion & TortoiseSVN(ファイルバージョン管理ツール)
 WinMerge(DIFFツール)

これらがないと不便でしょうがない。
あ、もちろんJavaの仕事やってるんで JDK と Eclipse は当然として、
Maven、Ant も必須かなぁ、と。
# ネットに繋がってないと、Mavenが使えない...


これまでの経験から言うと、作業場所が
 ユーザ企業内 > 大手SIer内 > 小~中堅ソフト会社内
の順で制約が厳しい。

なので、ユーザ企業に常駐するより、持ち帰り案件をソフト会社内で開発
しているほうが、仕事はやりやすいかな。


まぁ当然のことだし、しょうがないことですけど、
アーキテクトとして技術系の仕事に関わっていて、
技術調査が満足にできないのは、ちょっとキツ過ぎますわ...

スポンサーサイト
  1. 2009/04/14(火) 00:07:53|
  2. ソフトウェア開発 一般
  3. | トラックバック:1
  4. | コメント:0

Eclipse F11キーの挙動を変えてサクサク開発


Eclipseでは、アプリケーションの起動とデバッグには、ショートカットとしてF11 キーが割り当てられています。

・F11・・・デバッグ
・Ctrl + F11・・・起動

このF11キー、Eclipse 3.3からデフォルトの挙動が変わったようで、
Eclipse 3.2までは、前回実行したアプリを起動/デバッグするようになっていたのが、
3.3からはよくわからないダイアログが開く(F11押下時に選択しているファイルなどに応じて変化?)挙動になりました。

で、開発時。。。特にユニットテストをしている時なんかは、
 ソース書いて→F11でユニットテスト実行→ソース修正→またF11でユニットテスト実行。。。
と言う感じで開発していたので、Eclipse 3.3からの挙動は面倒で使いにくいと思っていました。

# まぁ個人の好みなんでしょうけど、僕は極力、少ない操作、かつマウスを使わずに開発したいので。


そこで、F11の挙動を3.2の頃に戻すには、Eclipseの設定で↓の設定を変更します

AlwaysLaunchLastAp


これでまた、サクサク開発できるようになりました(^^v


  1. 2008/07/21(月) 14:32:13|
  2. ソフトウェア開発 Java
  3. | トラックバック:34
  4. | コメント:1

Maven2 + WTP でJUnitテスト

Meven2 + WTP の組み合わせで、JUnitテストを書くと、APサーバが起動しなくなる問題が。

【条件】
 ①Eclipse で、WTP(Web Tools Platform)を使って、Webアプリ開発をしている。

 ②ビルドツールとしてMaven2を使用しており、pom.xmlで以下のようにJUnitを"テスト時のみ"クラスパスに通している。
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.2</version>
    <scope>test</scope> <!-- スコープにtestを指定している! -->
  </dependency>

 ③ソースコードの配置場所と、コンパイルされたclassファイルの出力先は、Maven2の仕様にしたがっている。
  ・アプリのソースコード src/main/java → classファイルは target/classes に出力
  ・JUnitのソースコード src/test/java → classファイルは target/test-classes に出力


【現象】
 ・WTPからサーバを起動すると、
   NoClassDefFoundError: junit/framework/TestCase
  が発生し、Webアプリが実行できない。

 ・作成したJUnitテストクラスを削除すると、実行できるようになる。


【原因】
 直接的な原因は2つ。
 ・WTPが、Webアプリ実行時に JUnitテストクラスをロードしてしまっている。
 ・JUnitライブラリのスコープが "test" なので、Webアプリ実行時にはクラスパスに追加されていない。

 つまり、JUnitテストクラスをロードしたが、JUnitライブラリがクラスパス上にないので NoClassDefFoundError が発生する、と言う理屈です。


【対処】
 対処としては、WTPにJUnitテストクラスをロードさせないようにします。
 。。。が、Eclipse GANYMEDEでは、そのような設定をする操作は見つけられなかったので、
 WTPの設定ファイルを直接編集してしまう。

 プロジェクトルート/.settings/org.eclipse.wst.common.component を開くと、
 以下のようになっています。

 1: <?xml version="1.0" encoding="UTF-8"?>
 2: <project-modules id="moduleCoreId" project-version="1.5.0">
 3:  <wb-module deploy-name="example">
 4:   <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
 5:   <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
 6:   <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
 7:   <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
 8:   <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>

 9:   <property name="context-root" value="example"/>
 10:   <property name="java-output-path"/>
 11:  </wb-module>
 12: </project-modules>

 この7行目と8行目が余計なので削除すると、無事にWebアプリが起動するようになります。

 別の方法としては、前出のpom.xmlでスコープをcompileにしても起動はするが、
 本来実行時には必要のないライブラリが組み込まれてしまうことになるので、よろしくないです。


しかし、Maven2 + WTP + JUnitテスト と言えば、良く使われている組み合わせと思うのですが、
なぜかWeb上にも同様の現象についての情報はないようで。。。おかしいなぁ。

  1. 2008/07/17(木) 22:22:43|
  2. ソフトウェア開発 Java
  3. | トラックバック:0
  4. | コメント:0

Eclipse GANYMEDE で Jadclipse が動かない

Eclipse GANYMEDE(3.4)がリリースされ、ちょいと試していますが、
動かないプラグインが結構ありますね。

特に直近困っているのが、「Jadclipse」。

*.classを開こうとすると、エラーになってしまいます。

ソースコードが提供されていない外部ライブラリや、Javaで実装されたミドルウェアの
調査をする時は、*.classをデコンパイルするしかなく、重宝していたのですが、
最新バージョンの3.3は GANYMEDEでは動かないようです。

早くGANYMEDEに対応してくれないかなぁ。





。。。と思ったら、エラーにならずにちゃんと逆コンパイルできることもある。

いまいち法則性がわかりませんが、もしかしたら逆コンパイルしようとしてクラスの実装に関係があるのかも。。。
(特定の構文を使っているとエラーになるとか)

まぁ何にしても不便だ。




こちらの方の情報によると、Jadclipseの問題ではなく、日本語化パック(Babel)に起因するらしい。

一応、2008/6月末にリリースされていたBabelをインストールしているんだけど。。。

とりあえず、Babelをアンインストールしたら問題は起きなくなった。


テーマ:プログラミング - ジャンル:コンピュータ

  1. 2008/07/16(水) 00:31:58|
  2. ソフトウェア開発 Java
  3. | トラックバック:0
  4. | コメント:0

Eclipse GANYMEDE(3.4) で、拡張ロケーション(?)を使う

久しぶりに技術ネタ。

統合開発環境 Eclipse の最新版、GANYMEDE(3.4) が正式リリースされました。

。。。いや、「されてました」
ここんとこ、技術に関係のないことばっかりやってるので、アンテナの感度が鈍ってます。
いかんなぁ。

と言うことで、ちょっと試してみた感じでは。。。
うーむ、EUROPA(3.3)とさほど変わってないような。
まぁEUROPAすら、使いこなすことなくGAYMEDEが出てしまいましたが(汗


試していてちょっと困ったのは、アップデートマネージャ。
GANYMEDEから「P2」なるものに置き換わったらしく、これまでのアップデートマネージャと全然違う。

ベータリリースの一時期は、旧アップデートマネージャと切り替えることができていたようで、
あちこちのWebサイトや、GANYMEDEのヘルプにさえも
 「旧アップデートマネージャ(Classic Update Manager)に設定で切り替えれますよ」
と書いてあるのですが、正式版では切り替えできなくなっている模様。
なんでやねん。


特に不便だと思うのは、「拡張ロケーション(Extension Location)」が無くなっていること。
実開発時に、必要なプラグインを「拡張ロケーション」としてまとめて配布し、
アップデートマネージャから追加すれば、いちいち個々にプラグインをインストールする必要もなく、
全員同じ環境にできていました。

この「拡張ロケーション」が、新しいアップデートマネージャ「P2」にはない。


調べていくと、代わりに「Dropins」なる機能(?)がありました
GANYMEDEのインストールフォルダ直下に"dropins"と言うフォルダがあり、
ここにプラグインを放り込むことでインストールできる、と言うものらしい。
(詳細は、P2 Getting started参照)

これを使うことで、以前の「拡張ロケーション」と同等のことができました。

1.プラグインをまとめる
 配布したいプラグインを、あちこちのサイトからダウンロードしてきてまとめます。

 「P2」の仕様では、プラグインの配置方法には何通りかあるようですが、ここは再配布することを考慮して、
 以下のようにしてみました。

 


 eclipse/ ・・・GANYMEDEインストールフォルダ
   dropins/
     extensions/ ・・・任意の名前。
       eclipse/ ・・・「P2」仕様で、"eclipse"と言うサブフォルダが必要。
         features/ ・・・フィーチャの配置場所。ここに配布したいフィーチャを入れていく。
         plugins/ ・・・プラグインの配置場所。ここに配布したいプラグインを入れていく。
 




 最近はアップデートサイトでの配布しかしていないプラグインも多く、そういうのは自分のローカルマシンで、
 いったんアップデートサイトからインストールし、GANYMEDEインストールフォルダ下のfeaturesとpluginsに
 インストールされたファイルをコピーします。
 この場合、プラグインを「拡張ロケーション」にコピーしたら、アップデートサイト経由でインストールしたプラグインは、
 アップデートマネージャから削除しないと、プラグインが認識されません。

2..linkファイルを置く
 "dropings"に配置した「拡張ロケーション」を認識させるには、.linkファイルが必要なようです。
 (たぶん。認識したりしなかったり、ごちゃごちゃやっていたので確信はありません)

 ここでは、以下のようにします。パスはGANYMEDEインストールフォルダからの相対パスです。

 extensions.link (中身は↓)
 


 path=./dropins/extensions
 



 これを、1.の "eclipse/dropins"フォルダ(つまり、extensionと同じ場所)に配置します。


3.動作確認
 最終的には、↓のような感じです。
 GANYMEDEを起動し、プラグインが認識されているか確認します。
 


 eclipse/
   dropins/
     extensions.link
     extensions/
       eclipse/
         features/
         plugins/
 



4.配布
 1.の「extensionsフォルダ」と、2.の「extensions.link」ファイルを配布して、
 各自 "GANYMEDEインストールフォルダ/dropins" にコピーしてもらうようにします。



とまぁこんな感じかなぁ。

そういえば、過去記事でm2eclipse と Tomcatプラグインの組み合わせが良い と書きましたが、
m2eclipse と WTP(Web Tools Platform) のほうが良さげですね(爆



2.png1.png


テーマ:プログラミング - ジャンル:コンピュータ

  1. 2008/06/30(月) 21:40:50|
  2. ソフトウェア開発 Java
  3. | トラックバック:0
  4. | コメント:0
次のページ

プロフィール

crossroad

Author:crossroad
関西在住。男。
フリーランスのソフトウェアエンジニア。
エレキベース(Rock&Roll)とお酒が好物でございます。

カテゴリー

タグリスト

Java F1 フリーランス ベーシスト HARRY TheStreetSliders iPhone FX お酒 Seasar Maven eclipse Wicket マイホーム 野球 プロジェクトファシリテーション Rails Ruby UML お店 ソフトウェア Tomcat S2Flex2 jsf Teeda Eclipse タグライブラリ ajax タスク europa mylyn trac 

ブログ内検索

最近の記事

最近のコメント

最近のトラックバック

カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

月別アーカイブ

全ての記事を表示する

全ての記事を表示する

Twitter


RSSフィード

リンク

このブログをリンクに追加する

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。