2017-09-05 14 views
0

私はAPIを構築するためのフレームワークとしてJerseyを使用し、JSONを処理するにはJacksonを使用する簡単なアプリケーションを開発しています。JerseyアプリケーションをTomcat 8.5にデプロイ

を&という名前でwebapps/に貼り付けて展開すると、index.jspが表示されます。作成したリソースには到達できませんが、常に404ページが表示されます。エラーは表示されず、catalina。* logsファイルのイベントでは表示されません。

私はJavaのコードではないことを確かめています。なぜなら、* .jarでの作業にはアプローチが含まれていたからです。しかし、私はそれに疲れていて、それをmavenアーキテクチャに移行したいと思っていました。

私はコード全体を投稿しませんが、you can see it hereです。

物事を容易にするために、ここで私が使用している依存関係のリストを次に示します。

  • ジャージー-JSONのv1.19
  • ジャージーサーバv2.25.1
  • ジャージーメディア-JSON -jackson v2.25.1
  • ジャクソン・コアv2.9.0
  • ジャクソン・モジュールJAXB-アノテーションv2.9.0
  • ジャクソンアノテーションv2.9.0
  • ジャクソンデータバインドv2.9.0
  • ジャクソンjaxrsベースv2.9.0
  • ackson-jaxrs-JSON-プロバイダーv2.9.0

このエラーが発生することがありますか?私は、スタックトレース、エラーメッセージ、何もない何もない。それはいくつかの依存関係の欠如かもしれませんか?

答えて

1
  1. jersey-jsonを取り除く。それは1.xであり、あなたを混乱させるでしょう。
  2. jersey-server以上のものが必要です。あなたも必要です

    <dependency> 
        <groupId>org.glassfish.jersey.containers</groupId> 
        <artifactId>jersey-container-servlet</artifactId> 
        <version>2.25.1</version> 
    </dependency> 
    
  3. あなたはweb.xmlを削除する必要があります。あなたは@ApplicationPath設定アノテーションでそれを必要としません。また、あなたのweb.xmlに非常に古いスキーマバージョンを使用しています。それがあなたを混乱させるかどうかはわかりません。ファイルの最新のヘッダーが見つからない限り、web.xmlを完全に削除するほうがよいでしょう。

0

ないこのことについて非常に確認してくださいが、あなたのweb.xmlにサーブレットを追加してみてください、 前回私はジャージを使用して私は、私がに追加するものです例えば、サーバ

と通信necesaryた見つけます私は本当にこれはあなたを助けることを願っweb.xmlの

<servlet> 
    <servlet-name>jersey-serlvet</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>"PACKAGE WHERE DO YOU HAVE YOUR CLASS"</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>jersey-serlvet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

は、私が(「サーブレット・クラス」に)GlassfishのサーバーではなくTomcatをウッシングされたことに注意してください、これはあなたを与えるとの考え migth :)

関連する問題