2017-03-01 3 views
1

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; 
} 
} 
+0

http://stackoverflow.com/questions/2466828/java-lang-unsupportedclassversionerror-bad-version-number-in-class-file Regardez cette réponse. – gladiator

Répondre

0

Il y avait une incompatibilité de version de pot, tous les pots qui sont inclus doivent soit selon Jersey 1.2 documentation, dependencies list can be check here

+1

J'ai eu le même problème et suis ensuite passé à Maven. Cela m'a rendu la vie beaucoup plus facile. –