2017-05-29 45 views
0

我试图创建一个new cookie与我的Java应用程序使用,但我得到以下错误:新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

这是我如何创建cookie

int cookieAge = 7 * 24 * 60 * 60; 

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

这是我使用的是什么

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

编辑:

没有错,当我创建这样的:

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

回答

0

您与7.0依赖的正常工作编译代码。但是,您的范围为provided,这意味着您允许容器提供依赖性,该依赖性很可能是旧版本/不同于7.0的版本中的javaee-api,该版本没有构造函数的特定签名并且在运行时失败。

使用您的应用程序服务器/容器的版本检查它在哪个版本中提供的依赖关系/库。要么你去升级你的容器,要么把你的编译时间依赖降级到更低的版本。