Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

パッケージ xxx は存在しません。コンパイル時にエラー

   
   パッケージ model は存在しません。
  import model.DataModel;
   
   パッケージ action.form は存在しません。
  import action.form.PluralForm;
 
 とコンパイル時にエラーが出てしまう。
コンパイルの方法は、自分場合、classesの下に、にソースファイルを置いて、コンパイルしたいファイルのフォルダをカレントディレクトリにして、例えば
  
  xxx\classes\action> javac PluralRequestAction.java
  で、こんぱいるします。
  ファイルの配置はこのようになっています。
 
classes 
   |
   |---action---form
   |     |       |---PluralForm.java
   |     |
   |     |---PluralRequestAction.java
   |
   |---model
         |
         |---DataModel.java        
  
 これらのプログラムはサンプルとして、コンパイル済みのクラス

ファイルがあり、正常に操作します。それを削除して、コンパイル

しようとすると、上記のようなエラーがでてしまいます。
 ですが、import分のない DataModel.java は、コンパイルでき

ます。
 
 ちなみに、独学で、勉強しているんですが、できれば、

Eclipse3.2で、開発したいのですが、DynaActionFormクラスを認識

しなかったりして、いまいち、うまくいきません。strutsのプラグ

インも、動作が不安定だというものしかないようで。または、バー

ジョンの古いものだったり、やり方は、動的プロジェクト作成して

libにstruts.jar関連、WEB-INFに、tldファイル、struts-config、

など、置いてやってます。

 どなたかお願いします。
        

8

回答

22316

閲覧

8件の回答

評価

0

すいません、追記します。
開発環境は、
jdk1.6
struts1.2
tomcat5.5
windowXp
です。

評価

0

> コンパイル済みのクラス
> ファイルがあり、正常に操作します。それを削除して、コンパイル
> しようとすると、上記のようなエラーがでてしまいます。

そりゃそうだと思う。

評価

0

コンパイルするソースファイルは、削除してませんよ。
自分で作った。物がうまくコンパイルできなかったので。あえて、サンプルのコンパイル済みのクラスファイルを削除して、そのサンプルのソールファイルをコンパイルしてみたところ、エラーが出たということです。

評価

0

>javac PluralRequestAction.java
こっちでしょう。
package actionでは?

評価

0

それぞれのjavaファイルに適切にPackage文が書かれているのであれば、

xxx\classes\action> javac -classpath ../ PluralRequestAction.java

とするか、

actionフォルダではなくclassesフォルダをカレントフォルダにして、

xxx\classes> javac action/PluralRequestAction.java

とすればコンパイルできませんか?

import文は.を¥に置き換えたものをカレントフォルダからの相対パスとしてファイルを探しにいくので、今回の例でいうとactionフォルダを基準として
.\model\DataModel(.java)
.\action\form\PluralForm(.java)

にそれぞれjavaファイルがないと見つからないと言われます。

一番気になるのは「ですが、import分のない DataModel.java は、コンパイルできます。」

ということなので、DataModel.javaの先頭に「Package model;」、PluralForm.javaの先頭に「Package action.form;」、PluralRequestAction.javaの先頭に「Package action;」とPackage指定がされていない気がします。

評価

0


    asdサンありがとうございます。
コンパイルできました。親切丁寧に教えてくださり、ありがとうございます。

actionフォルダではなくclassesフォルダをカレントフォルダにして、

xxx\classes> javac action/PluralRequestAction.java

    の方法でコンパイルできました。

package 文を指定した場合、このようにコンパイルするんですね。
勉強足らずでした。

評価

0

kokoさん

無事にコンパイルできたようでおめでとうございます。

packageのコンパイルについては私の説明のほか、「java package コンパイル 方法」などでWeb検索するといろいろ情報が見つかりますので参考にどうぞ。

Google検索-java package コンパイル 方法
http://www.google.co.jp/search?hl=ja&lr=&q=java+package+%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB+%E6%96%B9%E6%B3%95&suggest=0&sa=X&oi=cjkrefinements&resnum=0&ct=result&cd=1

評価

0

たびたび親切にありがとうございます。
参考にさせて頂きます。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。