2013-03-22 37 views
0

我想在turnkey linux tomcat6设备上使用轴1.4。轴1.4 linux的帮助 - happyaxis不高兴AXISCLASSPATH全错了吗?

短版本是假设它是问题的根源;在debian上设置AXISCLASSPATH的正确方法是什么?

长版本是:

axis.war部署正确。我已将AXIS_HOME和AXIS_LIB添加到etc/environment中,如下所示:

CATALINA_HOME="/usr/share/tomcat6" 
CATALINA_BASE="/var/lib/tomcat6" 
CATALINA_OPTS="-server -Xms384M -Xmx512M -XX:MaxPermSize=256M" 
JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.26" 
AXIS_HOME="/var/lib/tomcat6/webapps/axis" 
AXIS_LIB="/var/lib/tomcat6/webapps/axis/WEB-INF/lib" 

和所有回显正确。 tomcat6中管理页面显示轴运行,/本地主机/轴负荷罚款,但happyaxis被踢:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error() that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /happyaxis.jsp at line 45

42: */ 43: Class classExists(String classname) { 44:
try { 45: return Class.forName(classname); 46: } catch (ClassNotFoundException e) { 47: return null; 48:
}

Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: com/ibm/wsdl/factory/WSDLFactoryImpl : Unsupported major.minor version 51.0 (unable to load class com.ibm.wsdl.factory.WSDLFactoryImpl) org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794) org.apache.jsp.happyaxis_jsp._jspService(happyaxis_jsp.java:808) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.UnsupportedClassVersionError: com/ibm/wsdl/factory/WSDLFactoryImpl : Unsupported major.minor version 51.0 (unable to load class com.ibm.wsdl.factory.WSDLFactoryImpl) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2822) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:169) org.apache.jsp.happyaxis_jsp.classExists(happyaxis_jsp.java:34) org.apache.jsp.happyaxis_jsp.probeClass(happyaxis_jsp.java:77) org.apache.jsp.happyaxis_jsp.needClass(happyaxis_jsp.java:151) org.apache.jsp.happyaxis_jsp._jspService(happyaxis_jsp.java:650) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

我用轴在过去Ubuntu上,并与OpenJDK的问题。所以我尝试删除openjdk并安装sun-java-6并得到相同的错误。

根据文档的每一位我所看到的,$ AXISCLASSPATH需要指向轴/ lib目录的.jar文件,可能是问题,但Apache文档是很老:

Unix users have to do something similar. Below we have installed AXIS into /usr/axis and are using the bash shell. See your shell's documentation for differences. To make variables permeate you will need to add them to your shell's startup (dot) files. Again, see your shell's documentation.

set AXIS_HOME=/usr/axis 
set AXIS_LIB=$AXIS_HOME/lib 
set AXISCLASSPATH=$AXIS_LIB/axis.jar:$AXIS_LIB/commons-discovery.jar: 
    $AXIS_LIB/commons-logging.jar:$AXIS_LIB/jaxrpc.jar:$AXIS_LIB/saaj.jar: 
    $AXIS_LIB/log4j-1.2.8.jar:$AXIS_LIB/xml-apis.jar:$AXIS_LIB/xercesImpl.jar 
export AXIS_HOME; export AXIS_LIB; export AXISCLASSPATH 

当我部署,xercesImpl.jar不存在于lib目录中,log4-1.2.8.jar只是log4j.jar

我从文件系统中的其他地方复制了xercesImpl,并进行了详尽的搜索之后我尝试设置此变量命令行,etc/environment,tomcat6.sh和其他一些,都没有成功。

我发现,将正确地回声是在命令行代码的唯一方法:

export AXISCLASSPATH:$AXIS_LIB/axis.jar;$AXIS_LIB/commons-discover.jar;$AXIS_LIB/commons-logging.jar;$AXIS_LIB/jaxrpc.jar;$AXIS_LIB/saaj.jar;$AXIS_LIB/log4j.jar 

仍然没有变化。作为黑暗中的刺,我将wsdl4j.jar从文件系统的其他位置复制到/ lib,并将其添加到上述导出命令中,但仍然没有快乐

回答

0

“Unsupported major.minor version 51.0”表示“JVM版本过低; 51 == Java7“。

史蒂夫

(谁在10年前写的happyaxis.jsp)