问题补充:14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:485)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:523)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:521)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:521)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.ObjectFactory.injectInternalBeans(ObjectFactory.java:138)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:163)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)14:37:24,734 INFO  [STDOUT]  at org.apache.struts2.impl.StrutsObjectFactory.buildInterceptor(StrutsObjectFactory.java:52)14:37:24,734 INFO  [STDOUT]  ... 97 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:462)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:477)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:34)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293)14:37:24,734 INFO  [STDOUT]  ... 106 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:495)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:532)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:581)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:530)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:130)14:37:24,734 INFO  [STDOUT]  ... 111 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:492)14:37:24,734 INFO  [STDOUT]  ... 116 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:462)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:477)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:34)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293)14:37:24,734 INFO  [STDOUT]  ... 118 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:495)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:532)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:581)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:530)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:130)14:37:24,734 INFO  [STDOUT]  ... 123 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:440)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:492)14:37:24,734 INFO  [STDOUT]  ... 128 more14:37:24,734 INFO  [STDOUT] Caused by: java.lang.reflect.InvocationTargetException14:37:24,734 INFO  [STDOUT]  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)14:37:24,734 INFO  [STDOUT]  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)14:37:24,734 INFO  [STDOUT]  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)14:37:24,734 INFO  [STDOUT]  at java.lang.reflect.Constructor.newInstance(Unknown Source)14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:419)14:37:24,734 INFO  [STDOUT]  ... 129 more14:37:24,734 INFO  [STDOUT] Caused by: Server returned HTTP response code: 400 for URL: http://www.opensymphiny.com/xwork/xwork-validator-config-1.0.dtd - [unknown location]14:37:24,734 INFO  [STDOUT]  at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)14:37:24,750 INFO  [STDOUT]  at com.opensymphony.xwork2.validator.DefaultValidatorFileParser.parseValidatorDefinitions(DefaultValidatorFileParser.java:116)14:37:24,750 INFO  [STDOUT]  at com.opensymphony.xwork2.validator.DefaultValidatorFactory.retrieveValidatorConfiguration(DefaultValidatorFactory.java:195)14:37:24,750 INFO  [STDOUT]  at com.opensymphony.xwork2.validator.DefaultValidatorFactory.parseValidators(DefaultValidatorFactory.java:184)14:37:24,750 INFO  [STDOUT]  at com.opensymphony.xwork2.validator.DefaultValidatorFactory.<init>(DefaultValidatorFactory.java:55)14:37:24,750 INFO  [STDOUT]  ... 134 more14:37:24,750 INFO  [STDOUT] Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://www.opensymphiny.com/xwork/xwork-validator-config-1.0.dtd14:37:24,750 INFO  [STDOUT]  at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)14:37:24,750 INFO  [STDOUT]  at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)14:37:24,750 INFO  [STDOUT]  at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)14:37:24,750 INFO  [STDOUT]  ... 138 more

解决方案 »

  1.   

    struts2架包有问题吧,换个试试
      

  2.   

    jar是官网上下载的,不会有错,而且启动时报这个异常,但是项目可以正常运行。不知道是怎么回事。
      

  3.   

    文件名、目录名或卷标语法不正确这个是关键,struts2的jar应该是没有问题的。改个文件路径或者jar包名试试
      

  4.   

    包导入的不全
    参考http://blog.sina.com.cn/s/blog_6095cf300100ms69.html
      

  5.   

    你好,谢谢你的回复,我看过了你说的那7个JAR我都有,下面就是我引入的所有struts2的包
    asm-3.1.jar;asm-commons-3.1.jar;asm-tree-3.1.jar;commons-fileupload-1.2.2.jar;
    commons-io-2.0.1.jar;commons-lang-2.5.jar;freeer-2.3.16.jar;javassist-3.11.0.GA.jar;ognl-3.0.1.jar;struts2-core-2.2.3.1.jar;xwork-core-2.2.3.1.jar
      

  6.   


    不用引入所有,下面这段话你没看到?
    其实,这里还有一个小窍门,我们可以将Struts 2.2.x根目录下的apps文件夹下的struts2-blank-2.2.1.war文件进行解压,然后找到WEB-INF下的lib目录,我们可以发现里面列出了7个JAR文件,刚好这7个就是我们配置Struts 2.2.x需要导入的JARs文件:
      

  7.   

    对呀,你看看struts-2.2.3.1版本,struts2-blank.war里面一共11个包。不是7个。。
      

  8.   

    不知道什么问题我用tomcat就可以
      

  9.   

    哈哈,搞定了,这是struts2在jboss下的bug问题
    请参看:http://struts.1045723.n5.nabble.com/jira-Created-WW-3391-FileManager-problem-with-creating-JarEntryRevision-on-JBOSS-td3552450.htmlhttp://docs.jboss.org/jbossmc/docs/2.0.x/userGuide/ch20.htmlhttp://community.jboss.org/thread/160683
    解决方案:修改xwork-core的jar包文件com.opensymphony.xwork2.util.URLUtil
    //--------------------------------old code----------------------------------------------------
        public static final String JBOSS5_VFSZIP = "vfszip";
        public static final String JBOSS5_VFSMEMORY = "vfsmemory";
        public static boolean isJBoss5Url(URL fileUrl) {
            final String protocol = fileUrl.getProtocol();
            return JBOSS5_VFSZIP.equals(protocol) || JBOSS5_VFSMEMORY.equals(fileUrl.getProtocol());
        }
    //--------------------------------end of old code-------------------------------------------
    and change it to:
    //--------------------------------fixed code----------------------------------------------------
        public static final String JBOSS5_VFS = "vfs";
        public static final String JBOSS5_VFSZIP = "vfszip";
        public static final String JBOSS5_VFSMEMORY = "vfsmemory";
        public static boolean isJBoss5Url(URL fileUrl) {
            final String protocol = fileUrl.getProtocol();
            return JBOSS5_VFS.equals(protocol) || JBOSS5_VFSZIP.equals(protocol) || JBOSS5_VFSMEMORY.equals(fileUrl.getProtocol());
        }具体请参照:http://community.jboss.org/thread/160683
      

  10.   

    具体jar文件在http://download.csdn.net/detail/fenger0168/3791702下
      

  11.   

    我刚刚也遇到这个问题了,不过我解决了,需要修改struts2的源码,很简单的。
      

  12.   

    请问怎么修改struts2的源码呢?