1 IBM JDK 读取配置文件出现下面异常
Caused by: sun.io.MalformedInputException
at sun.io.ByteToCharGB18030.convert(ByteToCharGB18030.java(Compiled Code))
at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java(Inlined Compiled Code))
at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java(Compiled Code))
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java(Compiled Code))
at java.io.InputStreamReader.read(InputStreamReader.java(Compiled Code))
at java.io.BufferedReader.fill(BufferedReader.java(Compiled Code))
at java.io.BufferedReader.readLine(BufferedReader.java(Compiled Code))
at java.io.BufferedReader.readLine(BufferedReader.java(Inlined Compiled Code))
at org.springframework.util.xml.XmlValidationModeDetector.detectValidationMode(XmlValidationModeDetector.java(Compiled
Code))
办法1 网上查找的办法 java -Dibm.stream.nio=true 错误依旧,问题依然存在
办法2 AIX JDK1.4.2 bug打补丁可以解决
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX build ca142-20060421 (SR5) (JIT enabled: jitc))
建议升级到1.4.2 Service Release 9 (Sidecar only) (pj9ap32142-20070708)
办法3配置文件中不能有中文且字符编码一致
2 转换jdk1.5jar包到JDK1.4
命令行方式:
java -Xms256m -Xmx512m -jar retrotranslator-transformer-1.2.2.jar -srcdir D:/temp/JDk15/ -destdir D:/temp/jdk14lib –verify
将源目录下的所有jar包和class转换成jdk 1.4版本到目标目录下
ant task方式
<path id="retrotranslator.path">
<fileset dir="${retrotranslator.home}">
<include name="*.jar"/>
</fileset>
</path>
<fileset dir="${retrotranslator.home}">
<include name="*.jar"/>
</fileset>
</path>
<target name="tojdk14" depends="">
<taskdef name="retrotranslator" classpathref="retrotranslator.path"
classname="net.sf.retrotranslator.transformer.RetrotranslatorTask" />
<retrotranslator destjar="${target.ear}/JDK14${ejb.file}"
srcjar="${target.ear}/${ejb.file}"
verify="false">
<classpath location="${java14_home}/jre/lib/rt.jar"/>
<classpath refid="all-libs"/>
<classpath refid="retrotranslator.path"/>
</retrotranslator>
</target>
<taskdef name="retrotranslator" classpathref="retrotranslator.path"
classname="net.sf.retrotranslator.transformer.RetrotranslatorTask" />
<retrotranslator destjar="${target.ear}/JDK14${ejb.file}"
srcjar="${target.ear}/${ejb.file}"
verify="false">
<classpath location="${java14_home}/jre/lib/rt.jar"/>
<classpath refid="all-libs"/>
<classpath refid="retrotranslator.path"/>
</retrotranslator>
</target>
retrotranslator-runtime-1.2.2.jar 加到运行时lib中
3 weblogic
3.1 weblogic-ejb-jar.xml 的DocType 需要修改
所以修改xdoclet生成weblogic-ejb-jar.xml的jar包
xdoclet/lib/ xdoclet-bea-module-1.2.3 for wls81.jar
3.2 Managed server启动脚本 startManagedWebLogic.sh增加资源classpath
RMSLIB="lib"
# set the classpath
CP=$(echo ${RMSLIB}/*.jar ${RMSLIB}/xml/*.jar | tr ' ' ':')
# *************************************************************************
echo "RMSLIB ==== ${RMSLIB} ==== ---------------------------------------"
echo "cp=================${CP}"
CLASSPATH="${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POINTBASE_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/jre/lib/rt.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar${CLASSPATHSEP}${CLASSPATH}:${CP}"
export CLASSPATH