Error : UnsupportedClassVersionError: Bad version number in .class filecomment exposer WebService RESTful en utilisant Java1.5 et jersey1.2, numéro de version dans le fichier Bad .class
utilisés bocaux suivants:
- activation.jar
- asm-3.1.jar
- Jackson-core-asl.jar
- Jackson-jaxrs.jar
- Jackson-mapper-asl.jar
- Jackson-xc .jar
- JAXB-api-2.2.jar
- jersey client 1.2.jar
- jersey core.jar
- jersey json.jar
- jersey serveur 1.0.2.jar
- larguer-1.0.jar
- jsr311-api-1.1.1.jar
======================== =====================
WEB.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd" version="2.4"> <display-name>com.rest</display-name>
<welcome-file-list><welcome-file>welcome.jsp</welcome-file>
<welcome-file>default.html</welcome-file></welcome-file-list>
<servlet>
<servlet-name>jersey-serlvet</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.rest</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>jersey-serlvet</servlet-name>
<url-pattern>/sevice/*</url-pattern>
</servlet-mapping>
</web-app>
===================================== ==============
welcome.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title>Tracks</title></head>
<body>
<form action="sevice/myMusic/post" method="post">
<pre>Song : <input type="text" name="newSong"></pre>
<pre>Singer : <input type="text" name="singer"></pre>
<input type="submit" value="Submit" />
</form>
</body>
</html>
====================== ================================= JSONService.java
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
@Path("/myMusic")
public class JSONService {
static MyDataSingleton singletonData= MyDataSingleton.getInstance();
Map<String, String> trackMap=new HashMap<String,String>();
@GET
@Path("/getAllTracks")
@Produces(MediaType.APPLICATION_JSON)
public Response getAllTracksInJSON() {
System.out.println("Gor Inside getAll");
if(isMapEmpy(singletonData.getSongsMap())){
return Response.status(400).entity("No track found in system. Please create your track list first !").build();
}
return Response.ok().entity(singletonData.getSongsMap()).build();
}
}
========================= Track.java
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Track {
String song;
String singer;
public String getSong() {
return song;
}
public void setSong(String song) {
this.song = song;
}
public String getSinger() {
return singer;
}
public void setSinger(String singer) {
this.singer = singer;
}
@Override
public String toString() {
return "Song [song=" + song + ", singer=" + singer + "]";
}
public String myStringConversion(){
return song+":"+singer;
}
}
http://stackoverflow.com/questions/2466828/java-lang-unsupportedclassversionerror-bad-version-number-in-class-file Regardez cette réponse. – gladiator