我遇到了一个奇怪的问题。我有一个Web项目(java服务),我用来用ANT构建。但是由于某种原因,构建系统不得不更改为Maven。
使用 Maven 构建后,我将 war 文件部署到 tomcat 上,当我查询某些@Produces值为 MediaType.APPLICATION_JSON 的服务(在浏览器中输入服务 URL)时,我得到的响应是"500 内部错误"。当我使用 ANT 时,同样的事情运行良好(整个代码是相同的,只是构建系统不同)。
我写了一个返回字符串(MediaType.TEXT_PLAIN)的虚拟服务,它按预期工作。使用 Maven 构建时是否要返回应用程序/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.
绒球.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>
检查两场战争(蚂蚁与Maven)。尤其是 WEB-INF/lib 目录。Maven版本很可能在那里缺少一些东西。如果是这样,请检查依赖项的范围。
在这里看看它们是什么意思