Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新会话变量的java.lang.NoSuchMethodError_Java - Fatal编程技术网

更新会话变量的java.lang.NoSuchMethodError

更新会话变量的java.lang.NoSuchMethodError,java,Java,我的代码正在运行 java.lang.NoSuchMethodError: java.util.Map.replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; iland.client.ClientAction.update(ClientAction.java:82) 这里cl是一个 dao.update(cl); Map session = ActionContext.getContext().getSessio

我的代码正在运行

java.lang.NoSuchMethodError: java.util.Map.replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    iland.client.ClientAction.update(ClientAction.java:82)
这里
cl
是一个

dao.update(cl);
Map session = ActionContext.getContext().getSession();
session.replace("client", cl);
我用客户机对象更新数据库,更新后用代码更新会话变量

Client cl = new Client();
此代码在我的本地主机中正常工作,但在服务器中部署后,将显示上述异常


如何解决此问题?

在会话映射(或在generate till java 7中的映射)中没有名为
replace()的方法。
你只需要做

session.replace("client", cl);
映射就是这样工作的,如果存在key,
put(key,value)
将覆盖该值,否则它将创建一个新条目

直到java 8才添加,但您可以使用
put
来执行相同的操作:


java.util.Map.replace()
方法仅从java 1.8开始使用。我想,请检查服务器的jdk版本是否从1.8开始使用java从1.8-。抱歉,我不知道,但是
put
的工作方式是一样的。
  dao.update(cl);
  Map session = ActionContext.getContext().getSession();
  session.put("client", cl);
V put(K key, V value)

Associates the specified value with the specified key in this map (optional operation).
If the map previously contained a mapping for the key, the old value is replaced by the specified value.
(A map m is said to contain a mapping for a key k if and only if m.containsKey(k) would return true.)