2017-05-29 1 views
0

Je suis en train de créer un new cookie à utiliser avec mon application Java, mais je reçois l'erreur suivante:nouvelle NewCookie NoSuchMethodError

Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.NewCookie.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)V

Voici comment je crée le cookie

int cookieAge = 7 * 24 * 60 * 60; 

NewCookie cookie = new NewCookie("mysession", 
     "somevalue", 
     "/", 
     "*", 
     "", 
     cookieAge, 
     false, 
     true 
); 

C'est ce que j'utilise

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope> 
</dependency> 

EDIT:

Rien de mal quand je crée comme ceci:

NewCookie cookie = new NewCookie("mysession", "Somevalue"); 

Répondre

0

Vous compilez votre code avec la dépendance 7.0 qui fonctionne très bien. Cependant, votre portée est provided ce qui signifie que vous laissez un conteneur fournir la dépendance qui est très probablement le javaee-api dans une version plus ancienne/différente que 7.0 qui n'a pas cette signature particulière du constructeur NewCookie et échoue à l'exécution.

Vérifiez avec la version de votre serveur d'applications/conteneur quelles dépendances/bibliothèques il fournit dans quelle version. Soit vous allez mettre à jour votre conteneur ou vous rétrogradez votre dépendance à la compilation vers une version inférieure.