我试图在Java Servlet类中创建Gson对象。
public class SendNews extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Before creating");
Gson gsonObj = new Gson();
System.out.println("This line and the whole code below will be skipped.");
System.out.println("And this method will be finished without Exceptions.");
}
}
我试图使用
Gson gsonB = new GsonBuilder().create();
同样的问题。创建Gson
对象后,该方法返回时不会执行任何print语句或记录任何异常。
但是下面的代码运行正常:
public class Main {
public static void main(String[] args) {
//GcmSender.post(new NewsContent());
System.out.println("Before creating");
Gson gsonB = new Gson();
System.out.println("After creating");
}
}
我做错了什么?我使用谷歌gson库v2.3.1
答案 0 :(得分:0)
Gson是一个主流图书馆。
您的问题似乎与您的服务器设置有关:您在类路径中使用Gson库编译您的servlet(当您运行程序时,它也可以在类路径中,可能来自IDE)。
但是当你将战争放到服务器上时(错过了Gson)doPost
在遇到new Gson()
时会发生故障。因此,在编译时和运行时都要确保在类路径中有Gson库 jar 。