@IT
> Java Solution
> 連載記事 「Eclipseを使おう!」
http://www.atmarkit.co.jp/fjava/index/index_eclipse.html
エクリプス http://eclipsewiki.net/eclipse/
ecipse本家 http://www.eclipse.org/
Javaへの道 http://www.javaroad.jp/opensource/index.html
Eclipseを含む open系
http://www.okapiproject.com/java/java_tools/jboss/index.htm
[メニューバー]→[ウィンドウ]→[設定]
V3.4系の場合
ここで、指定するのは、全体的な設定
ファイル単位に指定する場合は、ファイルを右クリック→プロパティ
または〜
[メニューバー]→[編集]→[エンコードの設定]→[]→[]→[]→メニュー
Ver2.1.3
Access Denied by Firewall
こんな画面が表示されてしまう。
他のマシンでは、正しく表示されたのに、SPPC-095では表示できなかった。
ネットを眺めると、Eclipseは、ヘルプサーバーを内包しているらしく、どうも正しく見つけられていないみたいだ。
詳細は不明だが、明示的に、ヘルプサーバーのありかを指定する事にした。なお、127.0.0.1 などではうまく行かなかった。
実IPアドレスを指定したらうまくいった
IPアドレスを指定した後に、必ず、再起動すること
やっと表示されました。
原因がわかったぞ
C:\WINDOWS\system32\drivers\etc\hosts の 127.0.0.1 にlocalhost以外のものが記述してある場合にうまく行かないようだ! 20050728
Eclipse 3.4系で サーブレットを組んでみたときはコチラを参照
20090619_Tomcatプロジェクトを作成してみる
まず、必要なプラグインをインストールする
http://www.atmarkit.co.jp/fjava/rensai2/eclipse03/eclipse03.html
■Lomboz をダウンロードする。
■展開後、plug-in フォルダを そのまま Eclipseフォルダに複写する。
■ツールバーにLomboz用のアイコンを表示
■Lombozの各種設定を行う
Administation Domain Directory | C:\bea\user_projects\domains\mydomain |
User Name | weblogic |
Password | weblogic |
他の、タブの所を、チェックしましょう。
アイコンが、×印が出ていたら、参照できていない証拠です。
これで、準備は一通り終了。
では、ここから、簡単なWEBを作成してみよう。
@IT
> Java Solution
>
Java TIPS >
MergeDocでEclipseのポップアップ表示を日本語化する
http://www.atmarkit.co.jp/fjava/javatips/105eclipse027.html
エクリプス:日本語でホバー表示
http://www.eclipsewiki.net/eclipse/?%C6%FC%CB%DC%B8%EC%A4%C7%A5%DB%A5%D0%A1%BC%C9%BD%BC%A8
いつか挑戦してみよう
開く
[ファイル]→[インポート]→[既存プロジェクトをワークスペースへ]
.project ファイルが存在するフォルダ名を指定すること。
ナビゲーターであれば一度開いたプロジェクトのポインタが残っている
閉じる
プロジェクトを右クリックして、「閉じる」を選択
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletnote/eclipse_plugin_dev_faq.html
Eclipse の プロジェクト ファイルの正体は .project である。xmlで記述されている。
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>project_j2ee_002</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
プロジェクトの名前は、<name>で表記された、単なるデータである。
よって、.project を含むフォルダを丸ごと複写すれば、可能である。
プロジェクト名の変更は、プロジェクト名の右クリックする事により、容易に可能。
内部のアプリケーション名を変更しようとした場合、ルートのパッケージ名になっている事が多い。
それを、変更したい場合は、javaパースティクティブから、リファクタリング機能を利用してパッケージ名を変更すれば良い。
もう一つ、変更箇所があった。デブロイする時に、以前の名前で作ってしまうではないか。
修正する時は、以下のようにして、warファイルの名前を変更する必要がある
こうやってみると、プロジェクトは一から作った方が良いのかな〜。
[メニューバー]→[ウィンドウ]→[設定]→[コード生成]
適用するJVMのバージョンをチェックしましょう。オラクルが使用する古いJDKが適用されているケースもあります
Lombozプラグインからの
J2EEのデブロイを行うと、以下のエラーが表示されてデブロイできなくなってしまった。
エラーログは以下のように表示されている
C:\eclipse213\workspace\.metadata\.log
!SESSION 2 01, 2005 12:40:36.234 ----------------------------------------------- java.version=1.3.1_01 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP Command-line arguments: -os win32 -ws win32 -arch x86 -install file:C:/eclipse213/ !ENTRY com.objectlearn.jdt.j2ee 1 0 2 01, 2005 12:40:36.234 !MESSAGE Creating server definition manager[C:/eclipse213/plugins/com.objectlearn.jdt.j2ee/] !ENTRY com.objectlearn.jdt.j2ee 4 1 2 01, 2005 12:40:50.453 !MESSAGE J2EEAction.internal !STACK 0 java.lang.NoSuchMethodError at com.objectlearn.jdt.j2ee.templates.FileTemplate.isPassPropertyLeft(FileTemplate.java:229) at com.objectlearn.jdt.j2ee.templates.FileTemplate.fixPassthroughProperties(FileTemplate.java:220)
よくみると、javaのバージョン(赤字)が1.3.1系になっている。これはオラクルを再インストールした時に、Java.exeのパスがオラクル同梱のものが優先されてしまったように思える
C:\>set path Path=C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\ Oracle\jre\1.1.8\bin;C:\j2sdk1.4.2_04\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WIND OWS\system32\WBEM;C:\Program Files\Microsoft SQL Server\80\Tools\BINN PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
一度、C:\j2sdk1.4.2_04\bin を優先させてみよう
C:\>set path Path=C:\j2sdk1.4.2_04\bin;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\ bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WIND OWS\system32\WBEM;C:\Program Files\Microsoft SQL Server\80\Tools\BINN PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
オラクルが立ち上がるかどうかも気になるので、OSの再起動を行う
できた〜!!
オラクルも正常起動しました
C:\eclipse213\workspace\.metadata\.log をみても、正しいバージョンが反映されているようです
!SESSION 2 01, 2005 13:26:52.156 ----------------------------------------------- java.version=1.4.2_04 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP Command-line arguments: -os win32 -ws win32 -arch x86 -install file:C:/eclipse213/ !ENTRY com.objectlearn.jdt.j2ee 1 0 2 01, 2005 13:26:52.156 !MESSAGE Creating server definition manager[C:/eclipse213/plugins/com.objectlearn.jdt.j2ee/]
起動対象のアプリケーションを起動するという事は、JavaVMを新たに起動してその上でクラスを稼働させる事になる。
ここでいうオプションとは、新たに起動するJavaVMに対しての引数を設定する事である。
デバッグ実行用のオプションと、非デバッグ実行用の2種類が設定できる
デバッグ実行用の設定ダイアログの表示の仕方
[メニューバー]→[実行]→[デバッグ]
左側のツリー「構成」で対象となるアプリケーションを選択する。
システムプロパティ( -D )を追加したい時
Eclipseでは、webアプケーションの開発にLombozを使用する事が多い。
Lombozの基本的作法では、デブロイを自動で行っているようである。
しかし、対象ソースの圧縮、規定ディレクトリーへのコピー、Webllogic側での展開デブロイ…と大変時間がかかる。
開発途中で、1行修正しただけなのに、数分かかっていてはたまらない。
そこで、WebLogic側から、開発ソースを直接参照するようにすれば良いと考えた。
方法
Eclipse側は、Webアプリケーションの配置手法に則って、必要なモジュールを置いておくことが必要となる。
WebLogic側のコンテキストルートは、WebLogic.xml の<context-root>が優先されるが、なければフォルダ名が使用されると思われる。
WebLogic側のコンソールから、手動デブロイを行う。このとき、指定したフォルダからモジュールを参照するようにする。
注意
デブロイ時に、WebLogic側で java.io.UTFDataFormatException が、発生する事がある。
原因は、Lombozが生成する xmlにエンコーディング指定がされてないが、Shift-JISで記述されているからである。
回避方法は、
・UTF-8で保存しなおすか、
・ <?xml version="1.0" encoding="Shift-JIS" ?> と明示的に指定する
・日本語のデータが記述されないような命名にする
などの回避策がある。
WebLogic.xmlにソースフォルダが記述されており、ここが、日本語になっているケースが多いが、WebLogic.xmlは <?xml 〜 も無く、エンコーディング指定ができない。(無理矢理記述したら、例外スローだった)
Servletの場合は問題点がある。
コンパイルしたclassファイルは、WEB-INF\classes 配下に存在する必要があるが、自動ではうまくいかない。ソースフォルダを生成する事ができるが、classは bin になってしまう。
antを改良して、binフォルダからWEB-INF\classes に複写するようにするか…。
→出力フォルダを任意に設定できる方法があるぞ→参照
J2EEプロジェクトを生成する
プロジェクトのプロパティを開き、「javaのビルド・パス」を開く
「フォルダの追加」機能により、ソース用のフォルダを作成する
〜src_web フォルダに対するクラス出力フォルダは、WEB-INF/classes に出力する事になる。
Eclipseプラグインとしては著名なOmondoであるが、シーケンス図に於いて次の点が不満である。
2009年にはどのように変化しているか?
SDE for Eclipse
Jude
../etc/application.html#JUDE/Community_5.5.2_で_ソースからクラス図を描く方法
出力先フォルダ(コンパイルしたclassファイルの格納先)は、他のファイルが存在していても、ビルド時に削除されていしまう事がある。これを防ぐには、下記のようにすれば良い。
ソースフォルダと出力先フォルダーは、かなり連携がとられているみだいだ。
上記のフラグがオフの時でも、クラスの移動、削除には、連動する。
コーディングスタイル・規約のチェックしてくれるプラグインである
以前と同じようになりました
Ver3.0系の話。ver2.1系で表示されていた、タスク(TODOなどが表示されてそれはそれで便利だった…)を表示するにはどうしたら良いか?
[ウィンドウ]→[ビューの表示]→[その他]
Version:
2023-06 の場合
タスクをダブリクリックすると、表示されるようになります。
C:\eclipse301\eclipse.exe vmargs -Xmx256M
以下のパッケージが用意されている
Eclipse IDE for Java Developers (Java) | Java開発者向け。Java IDE、CSVクライアント、XMLエディタなどが含まれる |
Eclipse IDE for Java Developers (JEE) | JavaEE開発者向け。上記に加えて、WTPが含まれる |
Eclipse Modeling Tools (Modeling) | Eclipse Modeling Projectの各ツールが含まれる。プラグイン開発者向け |
Eclipse IDE for Java and Reprort Developers (Report) | JavaEEツールに加え、レポートツールのBIRTを含む |
Eclipse IDE for C/C++ Developers (C/C++) | C/C++開発者向け |
Eclipse for RCP/Plug-in Developers (RCP) | Eclipseプラグイン開発者向け。ソースコードを含むEclipseSDK |
Eclipse Classic (Classic) | 3.2以前のEclipse本体に相当するパッケージ |
パッケージ種別ごとのプラグイン
http://www.eclipse.org/downloads/moreinfo/compare.php
Eclipse IDE for Java Developers (JEE)版をダウンロードしてみる
ダウンロードURL
http://www.eclipse.org/downloads/packages/
日本語化パッケージが当てられたEclipse
これだけで、ほとんどがセットされている
Eclipse本体、Java、…
ダウンロードURL
http://mergedoc.sourceforge.jp/解凍後、
適宜、名前を設定して浅めのフォルダに配置しておきましょう
eclipseフォルダ内のeclipse.exeを実行するだけ
インストール
手動で pleiades をインストールした場合は
インストール先のeclipse/eclipse.ini の中をに追加
最終行 -Xmx512m の下-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
左右に並びます
ワーキングセットとは…
プロジェクトを固まりで管理すること。
VisualStduioでいう所の、ソリューションと似ている
詳細はこちらで
eclipse WorkingSet
ソースエディタ
Ctrl + Shift + F
フォーマット。ソースの改行、インデント等 整形を行ってくれる。
Ctrl + Shift + O
インポートの整理。
F3
宣言部分に飛ぶ
Shift + F2
選択部分の JavaDocヘルプを表示してくれる
Ctrl + /
選択行を 行コメント( // )する、しない の切り替えを行う
Eclipse All In One 3.4 を使用している。
Tomcat 6 を使用する
プロジェクトの生成を行う
プロジェクトが作成された。
よく使うソースパターンを予め登録しておく方法として、エクリプスには 2種類の方法がある。
スニペット…コードの断片を登録しておき、ドラッグやダブルクリックなどで貼りこむもの
テンプレート…Javaエディタに特化したもので、Ctrl + space にて 貼り込めるもの
テンプレート
テンプレートを利用するときの一例
「main」とキーインして、ctrl + space してみる
エンターで確定すると、貼りこまれた。
テンプレートの内容に追加したいとき
[メニューバー]→[ウィンドウ]→[設定]
追加してみる
msg と、キーインして…
ctrl + space すると
挿入されました
[メニューバー]→[ウィンド]→[設定]→[一般]→[コンテンツタイプ]
ShiftJis にする場合は MS932を設定
「JSEclipse」と「Aptana」というのがあるらしい
Aptana Eclipse プラグインをインストールしてみる
Aptana plugin
Install
http://update.aptana.com/update/studio/3.2/
http://www.eclipse.org/downloads/download.php?file=/tools/gef/downloads/drops/3.5.1/R200909151220/GEF-ALL-3.5.1.zip
GEF-ALL-3.5.1.zip
http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=AmaterasUML
AmaterasUML_1.3.2.zip
アーカイブを展開して出てきたjarファイル群をEclipseのpluginsディレクトリへ
Eclipseでは、build.xmlファイルは、ant設定ファイルに位置づけられているようだ。
新規生成ファイルのファイル名で build.xml を指定した場合は、アイコンが 蟻 に変わっている。build.xml ファイルを開いた場合は、antタスクエディターが開いているらしい。
antタスクエディター から、ビルドの内容を作成する事も可能だが、ビルド内容を自動的に作成する方法がある。
builder.xmlが生成されている
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- WARNING: Eclipse auto-generated file. Any modifications will be overwritten. To include a user specific buildfile here, simply create one in the same directory with the processing instruction <?eclipse.ant.import?> as the first entry and export the buildfile again. --> <project basedir="." default="build" name="20091022動作検証"> <property environment="env"/> <property name="ECLIPSE_HOME" value="C:/pleiades-e3.5/eclipse"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.5"/> <property name="source" value="1.5"/> <path id="20091022動作検証.classpath"> <pathelement location="bin"/> </path> <target name="init"> <mkdir dir="bin"/> <copy includeemptydirs="false" todir="bin"> <fileset dir="src"> <exclude name="**/*.launch"/> <exclude name="**/*.java"/> </fileset> </copy> </target> <target name="clean"> <delete dir="bin"/> </target> <target depends="clean" name="cleanall"/> <target depends="build-subprojects,build-project" name="build"/> <target name="build-subprojects"/> <target depends="init" name="build-project"> <echo message="${ant.project.name}: ${ant.file}"/> <javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}"> <src path="src"/> <classpath refid="20091022動作検証.classpath"/> </javac> </target> <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/> <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler"> <copy todir="${ant.library.dir}"> <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/> </copy> <unzip dest="${ant.library.dir}"> <patternset includes="jdtCompilerAdapter.jar"/> <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/> </unzip> </target> <target description="compile project with Eclipse compiler" name="build-eclipse-compiler"> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> <antcall target="build"/> </target> <target name="Main"> <java classname="Main" failonerror="true" fork="yes"> <classpath refid="20091022動作検証.classpath"/> </java> </target> </project>
同様にして、シンプルなサーブレットプロジェクトのbuilder.xmlを出力させてみた
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- WARNING: Eclipse auto-generated file. Any modifications will be overwritten. To include a user specific buildfile here, simply create one in the same directory with the processing instruction <?eclipse.ant.import?> as the first entry and export the buildfile again. --> <project basedir="." default="build" name="simpleHallowJava1"> <property environment="env"/> <property name="TOMCAT_HOME" value="C:/pleiades-e3.5/tomcat5.5"/> <property name="ECLIPSE_HOME" value="C:/pleiades-e3.5/eclipse"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.5"/> <property name="source" value="1.5"/> <path id="simpleHallowJava1.classpath"> <pathelement location="WEB-INF/classes"/> <pathelement location="work"/> <pathelement location="${TOMCAT_HOME}/common/lib/servlet-api.jar"/> <pathelement location="${TOMCAT_HOME}/common/lib/jasper-runtime.jar"/> <pathelement location="${TOMCAT_HOME}/common/lib/jsp-api.jar"/> </path> <target name="init"> <mkdir dir="WEB-INF/classes"/> <mkdir dir="work"/> <copy includeemptydirs="false" todir="WEB-INF/classes"> <fileset dir="WEB-INF/src"> <exclude name="**/*.launch"/> <exclude name="**/*.java"/> </fileset> </copy> <copy includeemptydirs="false" todir="work"> <fileset dir="work"> <exclude name="**/*.launch"/> <exclude name="**/*.java"/> </fileset> </copy> </target> <target name="clean"> <delete dir="WEB-INF/classes"/> <delete dir="work"/> </target> <target depends="clean" name="cleanall"/> <target depends="build-subprojects,build-project" name="build"/> <target name="build-subprojects"/> <target depends="init" name="build-project"> <echo message="${ant.project.name}: ${ant.file}"/> <javac debug="true" debuglevel="${debuglevel}" destdir="WEB-INF/classes" source="${source}" target="${target}"> <src path="WEB-INF/src"/> <classpath refid="simpleHallowJava1.classpath"/> </javac> <javac debug="true" debuglevel="${debuglevel}" destdir="work" source="${source}" target="${target}"> <src path="work"/> <classpath refid="simpleHallowJava1.classpath"/> </javac> </target> <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/> <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler"> <copy todir="${ant.library.dir}"> <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/> </copy> <unzip dest="${ant.library.dir}"> <patternset includes="jdtCompilerAdapter.jar"/> <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/> </unzip> </target> <target description="compile project with Eclipse compiler" name="build-eclipse-compiler"> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> <antcall target="build"/> </target> </project><path id="simpleHallowJava1.classpath"> は、PATH類似構造 である。
複数のタスクに同じPATH類似構造を使用したい場合には、
それらをtargetと同じレベルで <path>
要素を使って定義し、そのid属性で参照できます
他のプロジェクトに依存したTomcatプロジェクトの場合、開発用クラスローダを有効にするが、
ここをチェックしただけではだめ
java.lang.ClassNotFoundException: org.apache.catalina.loader.DevLoader
が発生してしまう。
対処方法、Eclipseのプラグイン内に DevLoader.zip が含まれているはずなので、zipを展開して、クラスパスに通す必要があるようだ。
自分の環境の場合、ココにあった
C:\pleiades-e3.5\eclipse\dropins\TomcatLauncher\eclipse\plugins\com.sysdeo.eclipse.tomcat_3.2.1\DevLoader.zip
展開された orgフォルダ配下を、C:\pleiades-e3.5\tomcat5.5\server\classes 配下に配置
開発用クラスローダでロードしたはずのクラスが 見つからないといわれた時、そのクラスの存在パスを確認するとよいかも。
Windows7 で ネットワークフォルダ \\ のとき パスが
// と変換されていた。これが原因なのか??
ネットワークドライブに、ドライブレターをあてがったら読めただよ。
Eclipseの使用状況を、アップロードするもの。データを集めて、eclipseの改善に役立てようとするもの。
ALL IN ONE じゃなくって本家から入れて、別途日本語化する方針で行ってみる
20230725 eclipseのセットアップ