ラベル Java の投稿を表示しています。 すべての投稿を表示
ラベル Java の投稿を表示しています。 すべての投稿を表示

2012年10月24日水曜日

[java]パッケージについて

[共通] 当 Blog の投稿に関する基本事項について
→ http://fuunyan.blogspot.jp/2012/09/blog.html


インナークラスについて勉強中
 ↓
アクセス制御について再度確認
 ↓
パッケージ部分について再確認するためにコード書いてみる
 ↓
見事にハマって実行できないorz ← 投稿の原点

こんな流れでパッケージの書き方、ファイルの置き方どうすればいいのか正しくわからなかったので、いろいろ調べた結果を書き出しておく。
なお私の環境はカレントディレクトリとして D:\Data\java 、システム環境には JAVA_HOME は定義していますが CLASSPATH は定義していません。
D:\Data\java>set JAVA_HOME
JAVA_HOME=C:\Java\jdk1.7.0_07

D:\Data\java>set CLASSPATH
環境変数 CLASSPATH が定義されていません

●定義方法と格納場所
パッケージの作成と言うのは別にむずかしいことはない。
普通にコーディングをしてコンパイルをすればいいだけです。
注意するのは以下の部分

・ファイルの先頭でキーワードを宣言する。
hoge.java
// hoge はパッケージ名です、これが必要
package hoge;

public class testPackage{
 public void show(){
  System.out.println("testPackage Message");
 }
}

・キーワードと同じ名称のフォルダーにファイルを格納する
たとえば上のキーワード宣言をしているファイルを格納するなら hoge フォルダーに入れること。
とりあえずこれだけ。
細かいことを言うとフォルダー名とかはコンパイルオプションでなんとかなりそうですが、一意性の保証など諸々の理由から、イレギュラーな手法については考えず、この方法を利用した方がいいでしょう。

ちなみに個別にコンパイルも当然できますが、呼び出し元をコンパイルすることで関連するパッケージファイルも勝手にコンパイルされるようです。


●呼び出し元での記述方法
さて呼び出し元。
こちらも難しい事はありません。
普通に java のコーディングができるなら、いつも通りコードを記述していくだけです。
hogecall.java
class hogeCall{
 public static void main(String[] ages){
  hoge.testPackage tp = new hoge.testPackage();
  tp.show();
 }
}

ちなみに hoge の記述を省略したいのなら hoge をインポートしてしまうことで実現できます。
import hoge.*;

class hogeCall{
 public static void main(String[] ages){
  testPackage tp = new testPackage();
  tp.show();
 }
}


●具体的な配置
上記二つのファイルの具体的な配置は以下の通り。
+カレントディレクトリ
 |hogecall.java
  +hoge
   |hoge.java

こんな感じです。
カレント配下に hoge ディレクトリ
あとはカレントに hogecall.java 、hoge ディレクトリ内に hoge.java を配置するだけです。
この状態で hogecall.java をコンパイルすれば、ちゃんとメッセージが表示されるはずです。
D:\Data\java>javac hogecall.java

D:\Data\java>java hogecall
testPkgMain Message


実は本題のアクセス制御やらの確認ができていないのですが、まぁ次回にでも。

2012年10月19日金曜日

[Apache][Tomcat][Java]環境作成

[共通] 当 Blog の投稿に関する基本事項について
→ http://fuunyan.blogspot.jp/2012/09/blog.html


以前いくつか類似投稿をしているが自分自身わかりづらかったので一つにまとめてみる。

環境を整えるのに参考にしたサイトリンク
@IT総合トップ > Java Agile > やり直し「JSPとTomcat」(1)
●Tomcat-1.インストール(Windows環境)


01)javaのダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/index.html
上記アドレスから最新の JDK をダウンロードする。
ダウンロードするバージョンを選択すると、選択したバージョンが提供されているプラットフォームの選択リストが表示される。
そこでまずライセンスへの同意意思を示すために「Accept License Agreement」を選択後、ダウンロードしたいプラットフォームのリンクを選択する。
これをしないと警告メッセージが表示されるだけでダウンロードできません(よく引っ掛かるトラップ)


02)インストール
インストール先をデフォルトの program files 配下から C:\Java\~ に変更しただけ。
windows7 などではセキュリティ系の問題とかでめんどくさいことが発生する場合もあるので私はここに変更しています(フルパスにスペースが入るのも回避したいですし)

あとはウィザード通りです。


03)システム変数追加
以下の二つを追加
  JAVA_HOME=C:\Java\jdk1.7.0_07
  PATH=%PATH%;%JAVA_HOME%\Bin


04)Apache Tomcat のダウンロード
http://tomcat.apache.org/download-70.cgi
上記アドレスから最新版を取得する。
「32-bit/64-bit Windows Service Installer」というやつね。


05)インストール
基本ウィザード通りに進行。
変更がある手順は3か所。

1か所目:Configuration
以下の項目を追加

  User Name  admin
  Password  root

2か所目:インストール先
例によって program files 直下回避です。
あとスペースがやたら入っているので、めんどくさいですが全てなくしています。
(確かにスペースあるほうが見やすいとは思います)

  C:\ApacheSoftwareFoundation\Tomcat7.0

3か所目:完了画面
チェックを両方とも外す。
普段常用するならつけていてもいいですが、そうだとしても設定が完了するまでは起動されても困るので外した方がいいかと。


05)システム変数追加
以下を追加
  CATALINA_HOME=C:\Apache Software Foundation\Tomcat 7.0


06)Tomcat起動
スタートメニューから Configure Tomcat を起動
サービスをスタートする
動作確認のため http://localhost:8080/ にアクセス


 これで正しくインストールできたらしく問題なく動作しておりまする。


余談:
テスト中などに発生する問題。
こんなメッセージが表示された場合(主に Win7 とか Vista など UAC が原因らしく)

unable to open the service 'tomcat7'

Tomcat インストール先直下内 Bin 配下にある Tomcat7w.exe のプロパティで互換性タブを選択。
特権レベルグループ内の「管理者としてこのプログラムを実行する」を選択状態にする。