JWS for LinuX Mike Gaertner Version 1.2-en 08.09.1996 西お郁彦 28 December 1996 この文書では Linux 上で Solaris/intel 用の Java WorkShop (JWS) を使う 方法について説明しています。 方法について書かれています。製品版の JWS のインストール方法とは手順が 若干異なりますので注意してください。製品版に関しては訳注の形で文書の最 後に簡単に述べています。) ______________________________________________________________________ 目次 1. まえがき 2. 必要なもの 3. インストール 4. 謝辞 5. 付録 6. 訳注: 製品版 JWS のインストール ______________________________________________________________________ 1. まえがき 過去数ヵ月の間に,多くの PC 雑誌では Java に関する記事が掲載され,Java のアプレットやデモプログラムの入った CD が付録についていました。その CD の中のいくつかには "Java Workshop" のβ版が収録されていました。Java Workshop (JWS) は (Java で書かれた) Java 開発環境で,エディタ,デバッ ガ,ポートフォリオ/プロジェクトマネージャを含んでいます。 この文書は,この JWS を Linux にインストールする方法の手引です。CD に 含まれる文書には Win NT,Windows 95,Sun の Solaris Sparc, Solaris Inter についてのみしか書かれていません。 Linux の場合の文書をネット上で見つけることができなかったので,自分でこ の mini-HOWTO を書くことにしました。 2. 必要なもの Linux での Java に関する一般的な情報や必要となる JDK のインストール方 法については Java-HOWTO を読んでください。この mini-HOWTO では以下のも のを既に持っているものとします。 1. JDK バージョン 1.0 以上のインストール 2. X11R6 (XFree86 3.1.2 以上) 3. JWS の入った CD 3. インストール まず,JWS をどこにインストールするかを決めなければなりません。JWS は配 布パッケージの一部ではありませんので,"/usr/local"の階層にインストール するのがよいでしょう。 環境変数 "JWS_HOME" をあなたがインストールに選んだディレクトリを指すよ うに設定し,それをシェルの起動ファイルに入れます。 例えば, "bash" を使っているならば,起動ファイルは "/etc/profile" や " /.bash_profile" で,必要な項目は次の通りです。 export JWS_HOME="/usr/local/JWS" export JAVA_HOME="/usr/local/lib/java" 2番目の項目は java のインストールされているディレクトリを指します。も しまだ設定されていなければ,これも起動ファイルに追加してください。 大抵の java 関係の CD では JWS は workshop という名前のサブディレクト リに納められています。SunSolaris/i386 用の JWS である inteltar.z とい うファイルを探してください。 このファイルは圧縮されたアーカイブで,次のようにして解凍します。 tar -xvzf inteltar.z -C ${JWS_HOME} このコマンドを実行すると ${JWS_HOME} 以下に次のサブディレクトリができ ます。 classes, examples, intel-S2, lib, solaris 以下のコマンドは解凍した JWS から余分なファイルを取り除き,既にインス トール済の java バイナリへの必要なリンクを作ります。(例えばコマンドラ イン上でカット&ペーストで)そのまま入力することができます。 ln -s ${JWS_HOME}/classes ${JAVA_HOME}/lib/classes rm ${JWS_HOME}/intel-S2/bin/i386/* rmdir ${JWS_HOME}/intel-S2/bin/i386 ln -s ${JAVA_HOME}/bin/i586 ${JWS_HOME}/intel-S2/bin/i586 ln -s ${JAVA_HOME}/bin/i486 ${JWS_HOME}/intel-S2/bin/i486 ln -s ${JAVA_HOME}/bin/i386 ${JWS_HOME}/intel-S2/bin/i386 JWS を起動するシェルスクリプトは ${JWS_HOME}/intel-S2/bin/jws です。こ のファイルは大きく変更したので,この mini-HOWTO の最後に添付しておきま す。 さらに ${JWS_HOME}/solaris/bin/javac の8行目を次のように変更します。 if [ -x ${_SS_JDK_BIN}/bin/`/bin/uname -m`/javac ] これで終りです。 最後に一つだけヒントを。JWS で新しいプロジェクトを作ったら ${JAVA_HOME}/lib/classes.zip を環境変数 "CLASSPATH" に追加しなければな りません。 4. 謝辞 この mini-HOWTO の(英語への)翻訳を行ってくれた Winfried Truemper に感謝します。 5. 付録 修正されたシェルスクリプト ${JWS_HOME}/intel-S2/bin/jws は次の通りで す。 ---8<-----8<--- cut here ---8<-----8<---- #!/bin/sh # # @(#)jws 1.64 96/05/02 # # Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved. # # Permission to use, copy, modify, and distribute this software # and its documentation for NON-COMMERCIAL purposes and without # fee is hereby granted provided that this copyright notice # appears in all copies. Please refer to the file "copyright.html" # for further important copyright and licensing information. # # SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF # THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED # TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. # # # Determine JWS_HOME # # edit by Mike Gaertner 06.09.1996 mg@genyosha.in-chemnitz.de # Set environment-variable "JWS_HOME" and "JAVA_HOME" ! # _SS_JDK_BIN=${JAVA_HOME} _SS_JWS_HOME=${JWS_HOME} # _SS_JDK_HOME=$_SS_JDK_BIN # RUNCLASSPATH="$_SS_JDK_BIN/lib/classes.zip:$_SS_JDK_BIN/lib/classes" # NCLASSPATH="$_SS_JDK_BIN/lib/classes" export LD_LIBRARY_PATH LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$J_HOME/lib/`arch`" if [ -z "$_SS_JWS_HOME" ] ; then _SS_JWS_HOME=`dirname $0` _SS_JWS_HOME=`cd $_SS_JWS_HOME/../.. ; pwd` echo "_SS_JWS_HOME is set to $_SS_JWS_HOME" fi if [ ! -d "$_SS_JWS_HOME" ] ; then echo "Invalid _SS_JWS_HOME: $_SS_JWS_HOME" 1>&2 exit 1 fi if [ ! -r "$_SS_JWS_HOME/lib/properties" ] ; then echo "Invalid _SS_JWS_HOME: $_SS_JWS_HOME/lib/properties" 1>&2 exit 1 fi # Since JDK executables are installed into JWS, _SS_JDK_BIN is set to # JWS/${VARIANT}/bin by default. It might also point to a build or # archive area. if [ ! "${_SS_JDK_BIN}" ] then if [ ${_SS_JDK_HOME} ] then _SS_JDK_BIN=${_SS_JDK_HOME} else _SS_JDK_BIN=$_SS_JWS_HOME/${VARIANT} fi else # could be either an install JWS dir or JDK bin if [ -d ${_SS_JDK_BIN}/build ] then _SS_JDK_BIN=${_SS_JDK_BIN}/build elif [ -d ${_SS_JDK_BIN}/${VARIANT} ] then _SS_JDK_BIN=${_SS_JDK_BIN}/${VARIANT} fi fi # needs to be exported, because it is referenced by JWS builder export _SS_JDK_BIN # assert: _SS_JDK_BIN points to the parent of lib if [ ! -d ${_SS_JDK_BIN}/bin ] then echo " By convention, _SS_JDK_BIN must have a bin subdirectory" echo " _SS_JDK_BIN: ${_SS_JDK_BIN}" echo " ${_SS_JDK_BIN}/bin does not exits" exit fi # Given the root of a JDK tree, set _SS_JDK_HOME to the parent directory # of bin,classes and lib # # There are three types of JDK directories. # * build directories are identical to the JDK directory provide # by JavaSoft. No a stable area. Iteam members are # discouraged from relying on this area. # * archive directories simply copy all content from the build # directory that is to be shipped to the user. On win32, # redist is moved to bin. # * installation directory - Since the contains of the JDK bin # directories have been moved to JWS, there is no bin dir # in the JDK tree. # jsk, 4-15-96 if [ ! "${_SS_JDK_HOME}" ] then _SS_JDK_HOME=$_SS_JWS_HOME/../JDK else if [ -d ${_SS_JDK_HOME}/build ] then export _SS_JDK_HOME=${_SS_JDK_HOME}/build fi fi # assert: _SS_JDK_HOME points to the parent of classes if [ ! -d ${_SS_JDK_HOME}/lib/classes ] then echo " By convention, _SS_JDK_HOME must have a classes subdirectory" echo " _SS_JDK_HOME: ${_SS_JDK_HOME}" echo " ${_SS_JDK_HOME}/lib does not exits" exit fi # assert: _SS_JDK_HOME points to the parent of lib if [ ! -d ${_SS_JDK_HOME}/lib ] then echo " By convention, _SS_JDK_HOME must have a lib subdirectory" echo " _SS_JDK_HOME: ${_SS_JDK_HOME}" echo " ${_SS_JDK_HOME}/lib does not exits" exit fi if [ `/bin/uname -m` = "i386" ] ; then ARCH='i386' elif [ `/bin/uname -m` = "i486" ] ; then ARCH='i486' elif [ `/bin/uname -m` = "i586" ] ; then ARCH='i586' fi # # Set Paths # # # Create .jws directory # # backwards compatibility if [ -d "$HOME/.jde" ] ; then if [ ! -d "$HOME/.jws" ] ; then echo "Moving $HOME/.jde to $HOME/.jws" mv $HOME/.jde $HOME/.jws fi fi if [ ! -d "$HOME/.jws" ] ; then echo "Creating $HOME/.jws directory" mkdir -p $HOME/.jws fi # # Parse arguments # the -debug option is assumed to have a value associated with it. # transform '-debug ' to '-debug -Djws.startup.props=' prog=java debug_opts=""; opts=""; while [ $# -ne 0 ]; do case "$1" in -debug) prog=java_g; debug_opts="-debug"; debug_prop="-Ddebug.browser=yes" ;; -*) opts="$opts $1" ;; *) args="$args $1" ;; esac shift; done # # Select a java interpreter # if [ -x "${_SS_JDK_BIN}/bin/$prog" ] ; then JAVA="${_SS_JDK_BIN}/bin/$prog" else JAVA=$prog fi # # Add WWW_HOME option # if [ ! -z "$WWW_HOME" ] ; then opts="$opts -Dwww.home=$WWW_HOME" fi JWSLOG=${JWSLOG:-$HOME/.jws/weblog} export JWSLOG exec $JAVA $debug_opts -classpath $RUNCLASSPATH \ -Djws.home=$_SS_JWS_HOME -Dhotjava.home=$_SS_JWS_HOME \ -Djws.bin=$JWS_BIN -Djdk.bin=${_SS_JDK_BIN}/bin \ -Djws.ut.user=$USER "-Djws.ut.platform=\"`uname -srm`\"" \ -Djws.build.classes=$NCLASSPATH $debug_prop $opts sun.jws.Main $args ---8<-----8<--- cut here ---8<-----8<---- 6. 訳注: 製品版 JWS のインストール 製品版の JWS のインストールについて簡単に触れておきます。 1. CD-ROM から jw-intel-S2.tar.Z をインストールディレクトリに展開しま す。 tar -xvzf jw-intel-S2.tar.Z -C /usr/local とすれば /usr/local/JWS ができます。/usr/local/JDK というディレクトリ もできますが,これは不要なので削除しておきます。 2. http://www.blackdown.org/java-linux/ より JWS/intel-S2/bin/jws を 置き換えるスクリプト,および class.zip を入手する。 3. 環境変数 JAVA_HOME を設定していなければ,JWS/intel-S2/bin/jws の 28 行目の環境変数 J_HOME を自分の環境に合わせて設定する。 # # Determine JWS_HOME # J_HOME=/usr/local/java 4. JWS を起動する。 % /usr/local/JWS/intel-S2/bin/jws