我想在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,并将其添加到上述导出命令中,但仍然没有快乐