gpt4 book ai didi

java - 静态变量在可运行 jar 中不起作用(hadoop mapreduce)

转载 作者:可可西里 更新时间:2023-11-01 14:38:33 26 4
gpt4 key购买 nike

<分区>

我是 hadoop 的新手。我正在尝试在我的映射器使用静态变量。我在主类中声明静态变量

public static String var="";

之后我在我的 main() 中给出了一些动态值 var="123456";然后我在映射器类中的 map() 中使用这个变量

但它给我 nullpointerException。当我使用 Eclipse 时,我能够在具有 maven 依赖项的普通 Java 核心项目中执行但是当我使它成为可运行的 jar 并且它在 hadoop 服务器上运行它给我 nullPointerException所以我仍然很困惑为什么它会给出这个异常(exception)有人知道这个请帮助我

提前致谢

我的主类代码

public class Tester {
public static String var;

public static void main(String args){
var="12345";
//calling mapper by job
}
}

这是我的映射器类代码

public class MyMapper {
public void map(ByteBuffer key,SortedMap<ByteBuffer, Column> column,Context context)throws IOException,InterruptedException{
//now i want to use var variable here
String str = Tester.var;
System.out.println("Variable value "+str);//this will give me nullPointerException in runnable jar
}
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com