即使对于uri和cookie的非空值,CookieStore.add也会返回NPE?

时间:2014-07-10 12:50:48

标签: java cookies nullpointerexception

由于某些原因,尝试添加cookie会返回空指针异常,即使URI和cookie值不为空。这是完整的代码,遵循Apache Harmony“CookieStoreTest.java”的内容:

package junk;

import java.net.CookieStore;
import java.net.HttpCookie;
import java.net.URI;
import java.net.URISyntaxException;

public class CookieProblem {

    private static CookieStore cookieStore;
    public static void main(String[] args) throws URISyntaxException {
        URI uri = new URI("http://harmony.test.unit.org");
        HttpCookie cookie = new HttpCookie("name1", "value1");
        cookie.setDiscard(true);
        System.out.println(cookie.toString() + " - " + uri.toString());
        cookieStore.add(uri, cookie);
    }
}

当我运行它时,我发现Cookie和URI值肯定存在,但我仍然得到NPE:

name1="value1" - http://harmony.test.unit.org
Exception in thread "main" java.lang.NullPointerException
    at junk.CookieProblem.main(CookieProblem.java:16)

我已经在Mac OSX 10.8.5上的Java 6和Java 7中尝试了这一点,结果相同。我已尝试使用/不使用discard选项,分别设置域名,maxAge,路径和值,同时没有设置...同样的结果。

我是否只是设法使用两个特定版本的Java(1.7.0_55-b13和1.6.0_51_b11),这两个版本在OSX上都有这个问题?还是我忽略了一些非常明显的东西,今天早上真的需要喝咖啡?我希望它是后者。

1 个答案:

答案 0 :(得分:2)

您的CookieStore为空。说真的,快点喝咖啡。