新的NewCookie NoSuchMethodError

时间:2017-05-29 23:36:40

标签: java java-ee cookies java-ee-7 nosuchmethoderror

我尝试创建new cookie以与我的Java应用程序一起使用,但是我收到以下错误:

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");

1 个答案:

答案 0 :(得分:0)

使用7.0依赖项编译代码可以正常工作。但是,您的范围是provided,这意味着您让容器提供的依赖关系很可能是版本较旧/不同于7.0且不具有该特定签名的javaee-api NewCookie构造函数并在运行时失败。

使用您的应用程序服务器/容器的版本检查它在哪个版本中提供的依赖项/库。您可以升级容器,也可以将编译时依赖项降级为较低版本。