SSH整合遇到的一些问题:
严重: Exception starting filter struts2
Unable to load configuration. - package - file:/F:/software_programming/project/source%20code/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/MusicalInstrumentsStore/WEB-INF/classes/struts.xml:14:74
struts.xml中action的包名冲突了,查看所有的struts配置文件,看是否有冲突的。
严重: Dispatcher initialization failed
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132)
jar包冲突,查看struts的jar包是否多引入了,跟struts提供的jar包对比(struts-2.1.8.1\apps\struts2-blank-2.1.8.1\WEB-INF\lib),看是否有多出了。
这里发现多了一个jar包: struts2-convention-plugin-2.1.6.jar
严重: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)
这是struts-2.1.6版本的一个BUG,原因是tomcat安装目录包含了空格 。避免这个错误的方法可以设置devmode为false:
或者重装tomcat,保证tomcat安装目录不包含空格。也可以使用其他版本的struts试试。
关于SSH整合最好一步一步来,弄清楚每个jar包的作用,不要随便引入没有用到的jar包,那样很容易产生冲突。