java.lang.NoSuchMethodException: =Class.n

启动Informatica服务之后,解决catalina.out里出现大量的java.lang.NoSuchMethodException: XXX; 不过服务依旧正常运行

catalina.out

java.lang.NoSuchMethodException: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

java.lang.NoSuchMethodException: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

java.lang.NoSuchMethodException: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

java.lang.NoSuchMethodException: <unbound>=Class.new("PC_NAMESPACE_SEQUENCE", null, Boolean);

Continuing ...

分析

看这个样子好像是Java的问题,经过检查,发现我系统的JAVA版本是:

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.0.1.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

而Informatica自带的Java版本是:

 $ $INFA_HOME/java/bin/java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)


解决

清理.bash_profile里原来设置的JAVA环境变量,然后使用Informatica自带的就可以了,不过也没有仔细分析为什么高版本的Java会出现这个问题。

export JAVA_HOME=$INFA_HOME/java
export JRE_HOME=$JAVA_HOME/jre

你可能感兴趣的:(java.lang.NoSuchMethodException: =Class.n)