私は奇妙な問題に直面しています。ANTで構築するために使用したWebプロジェクト(Javaサービス)がありました。しかし、何らかの理由で、ビルドシステムを Maven に変更する必要がありました。
Maven でビルドした後、war ファイルを tomcat にデプロイし、@Produces 値が MediaType.APPLICATION_JSON であるサービスをクエリする (ブラウザーにサービス URL を入力する) と、"500 Internal Error" という応答が返されます。ANTを使用した場合も同じことがうまくいきました(コード全体は同じで、ビルドシステムが異なるだけです)。
文字列 (MediaType.TEXT_PLAIN) を返すダミー サービスを書きましたが、期待どおりに動作します。Maven でビルドしたときに application/json を返すための設定はありますか?
アップデート :
HTTP Status 500 - Internal Server Error
type : Status report
message : Internal Server Error
description : The server encountered an internal error that prevented it from fulfilling this request.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-all</artifactId>
<version>3.1</version>
</dependency>
</dependencies>
<build>
<finalName>ROOT</finalName>
</build>
</project>