我是球衣的新手并试图创建使用其他网络服务的项目并回复我的json。以下是我的pom.xml
setup.cfg
的web.xml
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.modaltestapp</groupId>
<artifactId>modaltestapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.modaltestapp</groupId>
<artifactId>modaltestapp-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>modaltestapp-api Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<slf4j.version>1.7.9</slf4j.version>
<logback.version>1.1.2</logback.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
<build>
<finalName>modaltestapp-api</finalName>
</build>
java文件是:
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Restful Web Application</display-name>
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.modaltestapp.service</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
但是当我构建并运行应用程序时,它会显示错误:
@GET
@Path("/print")
@Produces({ MediaType.APPLICATION_JSON }) // add MediaType.APPLICATION_XML
// if you want XML as well
// (don't forget
// @XmlRootElement)
public List<RegistrationDto> getAllMessages() throws Exception {
List<RegistrationDto> messages = new ArrayList<RegistrationDto>();
RegistrationDto m = new RegistrationDto();
m.setFirstName("Nabi");
m.setLastName("Zamani");
m.setAge(30);
messages.add(m);
System.out.println("getAllMessages(): found " + messages.size() + " message(s) on DB");
return messages; // do not use Response object because this causes
// issues when generating XML automatically
}
我该如何解决这个问题?我正在使用Apache Tomcat 9。
答案 0 :(得分:0)
[你可以按照这篇文章解决你的问题。确保你有所有的罐子。 &#34;新泽西州的servlet&#34; pom.xml中缺少maven依赖项。
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.17</version>
答案 1 :(得分:0)
我认为这个主题是针对同一个问题的。您可以参考这些答案。 链接:java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer