2011-01-12 11 views
0

私のJavaアプリケーションは、他のいくつかのファイルを含む外部フォルダにアクセスすることを想定しています。 Netbeans IDEの下では完全に動作していましたが、(jar)ファイルだけを実行したときは動作しませんでした。 jarファイルが問題を解決するのと同じパス内に外部の希望のフォルダを含めることを考えましたが、悲しいことに私に同じ結果が与えられました。(JAR)ファイルをアプリケーションに必要な外部フォルダにアクセスするにはどうすればよいですか?

ご意見やご提案は大変ありがとうございます。

ありがとうございました!

PS:私は、次のコマンドを使用しています。java -jar MyJarFile.jar

[追加]

マイファイル構造:

プロジェクトのメインフォルダには、私が持っています次

ビルド
のbuild.xml
データ:インサイドこのフォルダは私のログファイル(log.dat)です。
dist:このフォルダの内部には、my(.Jar)ファイルがあります。次のように
MANIFEST.MF
nbproject
README
SRC

ファイルにアクセスするためのコードが書かれている:

ファイルlogs_File =新しいファイル( "データ" + File.separator + " log.dat ");

また、この方法では動作しますが、私は.Jarファイルを昼食にしません。

知るまで

を[更新]、私は次のことをしようとしている:

今、次のようにファイルにアクセスするためのファイルが見えます: ファイルlogs_File =新しいファイル(this.getClass( ).getResource( "/ Data/log.dat")。toString());

は、それから私は、次のディレクトリにDataフォルダにコピー:
SRC
ビルド/クラス/
distの

とメインディレクトリ内

をそして、まだそれは、ファイルを見ていません。今回はネットビーンでもファイルを見つけることはできません。誰かがあなたの質問に正確な答えを与えるためにあなたのためのコードを見ずに、あなたの助け

+0

同じパス内の外部フォルダを含めて... - それは本当に意味をなさない。あなたが直面している正確なエラーは何ですか?例外がありますか、または外部フォルダにアクセスできませんか?または...? – anirvan

+0

外部フォルダーにアクセスできないか、またはフォルダーが見つかりません。 – CompilingCyborg

答えて

1

を事前に

おかげで、それは難しいです。 IDE内で正しい動作について提供したヒントは、ファイルにアクセスする際に相対パスを使用している可能性があることを示唆していますか?あなたが失敗したときにアクセスしようとしているパスを印刷しようとしましたか?

EDIT:

があなたのファイルにgetAbsolutePath()を呼び出して、STDOUTに結果を印刷してみてください。次に、ファイルシステムを見て、ファイルが存在するかどうかを確認します。

私は、私は(DIST)の内側に私の(データ)のフォルダを置く私のファイルのgetAbsolutePath();を印刷:あなたは次のように答えはあるさて、あなたのプロジェクトのために alt text

+0

はい私は次のように相対パスを使用しました: "log" + file.seperator + file.dat ログフォルダはプロジェクトと同じフォルダにあります。 Jarファイルは別のフォルダにあります。 – CompilingCyborg

+0

jarファイルはログのすぐ上のフォルダにありますか?そうでなければ、あなたの問題です。 –

+0

あなたのメモをありがとう! ( "log")フォルダはJARファイルの上記ディレクトリに直接あります。これをJARファイルまたは同じフォルダに含めても結果は得られません。 (上記のように) – CompilingCyborg

1

フォルダに(JAR)ファイルを置きます。私は、(jar)ファイルに、管理者だけでなくすべてのユーザーがアクセスできるようにする必要もありました。

[トピックは解決済み]

コミュニティのためのおかげで、すべてのあなたの助けと関心!

親戚、

+0

ありがとう!しかし私はかなり理解していませんでした。私はbuild.xmlを編集します、そして、私はプロパティで何を変更するでしょうか?また、(file.reference.quartz-1.5.2.jar)を私のjarファイルの名前と(build.classes.dir)をクラスのディレクトリに置き換えますか?あなたの説明を言い換えると、私はとても感謝しています。 – CompilingCyborg

+0

シナリオがあなたのことを暗示している場合は、build.xmlを編集するだけで、project.propertiesファイルを読み込み、そこからすべての外部jarのポインタを取得し、build.xmlにそのようなエントリを作成する必要があります。 –

+0

NB。 JARが(dist)フォルダにある場合でも、依然として目的の外部ファイルを見つけることができません。 [ファイルが見つかりません] – CompilingCyborg

関連する問題