2016-06-12 6 views
2

私はjavaを初めて使い、単にサテライザのJava APIを使用してアプリケーションを認証したいのですが、動作しません。 this satellizer exampleを実行しようとしましたが、エラーが発生しています:assets/index.htmlが見つかりません。ディレクトリ構造全体にアセットフォルダはありません。私はそれを追加しようとしました。私はまた、「assets/index.html」がjava実装に見つかりません

URL clientPage = Resources.getResource("assets/index.html"); 

からへのリソースのパスを変更しようとした:パス内のindex.htmlを追加することによって

URL clientPage = Resources.getResource("index.html"); 

、それでも同じエラー。他の誰かがこのAPIを実行しようとしましたか?

+0

結果のエラーメッセージを投稿してください。 –

答えて

0

クラスパスリソースを使用する場合、クラスのパッケージ名が実際のパスの先頭に追加されます。つまり、現在のクラスに対するリソースパスです。

最初に/assets/index.htmlにスラッシュをつけて、クラスパスのルートからリソースにアクセスすることを確認する必要があります。

+0

はい、それは一般的な問題ですが、私はそれを解決することはできませんまた、あなたが言った試した "。assets/index.html"でも私は "index.html"は "assets/index.html" –

+0

コードを「/index.html」に変更した場合でも、「assets/index.html」が見つかりませんでしたか?結果の例外を投稿してください。そしてあなたの現在のコード? –

+0

私の現在のコードは 'assets/index.html'と同じです。私が行った唯一の変更は、変更のたびに "mvn package"コマンドを実行することです。 –

1

解決策が見つかりました。 Javaに新しいので、私はMavenの作業について知らなかった。その解決策は、変更が行われるたびにJavaサーバーが再起動されるだけでなく、実行するためにも必要です。だから私が変更を加えるたびに、私は2つのコマンドを実行する必要があります。まず

:第二に

mvn package 

:すべての人に

java -jar target/dropwizard-example.jar server example.yml 

おかげで問題に関心を取りました。

+0

これが問題の解決策だったら、これが本当の答えであることを明確にしてください。どのユーザーも回答として別の問題を投稿したようです。また、あなた自身の答えを受け入れてください。 –

関連する問題