web-dev-qa-db-ja.com

Javaパッケージが存在しないエラー

そのため、ルートディレクトリに/usr/share/stuffというフォルダーがあります

ものの中には、Javaファイルが先頭にpackage org.name定義を持つファイルがたくさんあります

javac test.Javaがサブドメインにあるtest.Javaを実行しています

クラスパスに/usr/share/stuffを追加しました。

test.Javaの上部にimport org.nameを追加します

しかし、package does not existエラーが表示されます...なぜですか?

30

それらは正しいサブディレクトリにありますか?

クラスパスに/usr/share/stuffを配置する場合、package org.nameで定義されたファイルは/usr/share/stuff/org/nameにある必要があります。

[〜#〜] edit [〜#〜]:これをまだ知らない場合、おそらくこれを読むべきです: http ://download.Oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding

EDIT 2:すみません、あなたがJava /usr/share/stuffのソースファイルについて話していることに気付いていませんでした適切なサブディレクトリにあるだけでなく、それらをコンパイルする必要があります.Javaファイルはクラスパス上にある必要はなく、ソースパス上にある必要があります(生成された.classファイルはクラスパス上にある必要があります。

それらが正しいディレクトリ構造の下にない場合は、コンパイルする必要がありますが、そうする必要があります。そうしないと、少なくとも警告が生成されます。生成されたクラスファイルは、適切なサブディレクトリにあります(-dを指定している場合)。

javac -sourcepath .:/usr/share/stuff test.Javaの下にある.Javaファイル(またはパッケージ名に応じて適切なもの)を/usr/share/stuffの下に置いたとすると、/usr/share/stuff/org/nameのようなものを使用する必要があります。

23
Bruno

org/name/usr/share/stuffに置き、org.nameパッケージソースをこのディレクトリに配置する必要があります。

2
pajton

コマンドラインから手動でコンパイルするときにまったく同じ問題が発生しました。私の解決策は、すべてのサブディレクトリJavaファイルもコンパイルされるように-sourcepathディレクトリを含めなかったということです。

2
Xenland

私はこの問題を抱えていました。アプリで.jarとしてパッケージ化されたテーマを使用しようとして、アプリのデバッグ中に機能していましたが、アプリのビルド/エクスポート時には機能しませんでした。

jarを解凍して解決し、その内容を手動でビルドフォルダーに追加して、次のようにしました。

project/
   │
   ├── build 
   │   └── classes
   │       ├── pt
   │       │   └── myAppName ... 
   │       └── com
   │           └── themeName ...
   ├── src
   └── lib

エラーはもう発生せず、アプリは意図したテーマでロードされます。

2

ドロップダウンリストの下部にあるMavenプロジェクトを右クリックしますMaven >> reimport

行方不明の依存関係のために私のために働く

2
Mewan