由于某些原因,尝试添加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上都有这个问题?还是我忽略了一些非常明显的东西,今天早上真的需要喝咖啡?我希望它是后者。
答案 0 :(得分:2)
您的CookieStore
为空。说真的,快点喝咖啡。