GVKun编程网logo

java.lang.ClassNotFoundException:启动SimpleStruts2应用程序时org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

19

最近很多小伙伴都在问java.lang.ClassNotFoundException:启动SimpleStruts2应用程序时org.apache.struts2.dispatcher.ng.filt

最近很多小伙伴都在问java.lang.ClassNotFoundException:启动SimpleStruts2应用程序时org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.The Struts dispatcher cannot be found. This is usually caused by using Struts、Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.Tracer$Builder、Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl、Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils等相关知识,下面开始了哦!

本文目录一览:

java.lang.ClassNotFoundException:启动SimpleStruts2应用程序时org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

java.lang.ClassNotFoundException:启动SimpleStruts2应用程序时org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

我正在尝试运行一个简单的Struts2应用程序,但它始终会引发以下异常:

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

我已经按照http://struts.apache.org/development/2.x/docs/create-struts-2-web-
application-using-maven-to-manage-artifacts-and-
to中的分步教程进行了操作-build-the-
application.html,但我无法使其工作。我还设法找到其他使用maven的Struts2教程,但都失败了。当我尝试运行应用程序时,它将引发相同的异常。

我使用了以下内容:

  • Eclipse
  • Maven
  • Tomcat
  • Struts2

根据其他讨论,依赖项jar文件(例如struts2-core)必须放在lib文件夹中,但对我而言,我正在使用Maven,因此所有依赖项都已包含在我的Maven依赖项下的构建路径中。

我什至尝试运行Struts2网站(Basic_Struts_2_Maven_2_3_1_2.zip)中给出的示例项目,但是我仍然没有运气。构建成功,但是在服务器上运行总是失败。

我有什么想念的吗?

这是web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>Basic_Struts2_Maven</display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>    <filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>     <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping></web-app>

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>manning</groupId>    <artifactId>Basic_Struts2_Mvn</artifactId>    <packaging>war</packaging>    <version>0.0.1-SNAPSHOT</version>    <name>Basic Struts 2</name>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>    <build>        <finalName>Basic_Struts2_Mvn</finalName>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>2.3.2</version>                <configuration>                    <source>1.6</source>                    <target>1.6</target>                </configuration>            </plugin>        </plugins>    </build>    <dependencies>        <dependency>            <groupId>org.apache.struts</groupId>            <artifactId>struts2-core</artifactId>            <version>2.3.1.2</version>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>1.2.14</version>        </dependency>    </dependencies></project>

struts.xml

<?xml version="1.0" encoding="UTF-8"?>    <!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"        "http://struts.apache.org/dtds/struts-2.0.dtd">    <struts>        <constant name="struts.devMode" value="true" />        <package name="basicstruts2" extends="struts-default">            <action name="index">                <result>/index.jsp</result>            </action>        </package>    </struts>

.classpath

<?xml version="1.0" encoding="UTF-8"?><classpath>    <classpathentry kind="src" output="target/classes" path="src/main/java"/>    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>    <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>    <classpathentry kind="output" path="target/classes"/></classpath>

答案1

小编典典

使用以下命令将Maven项目转换为Eclipse动态Web项目:

mvn eclipse:eclipse -Dwtpversion=3.4.2

您可以更改使用的任何WTP版本

.classpath 应该是这样的

<classpath>  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>  <classpathentry kind="output" path="target/classes"/>  <classpathentry kind="var" path="M2_REPO/asm/asm/3.3/asm-3.3.jar"/>  <classpathentry kind="var" path="M2_REPO/asm/asm-commons/3.3/asm-commons-3.3.jar"/>  <classpathentry kind="var" path="M2_REPO/asm/asm-tree/3.3/asm-tree-3.3.jar"/>  <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2.2/commons-fileupload-1.2.2.jar" />  <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar"/>  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar"/>  <classpathentry kind="var" path="M2_REPO/org/freemarker/freemarker/2.3.18/freemarker-2.3.18.jar"/>  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.11.0.GA/javassist-3.11.0.GA.jar"/>  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>  <classpathentry kind="var" path="M2_REPO/ognl/ognl/3.0.4/ognl-3.0.4.jar"/>  <classpathentry kind="var" path="M2_REPO/org/apache/struts/struts2-core/2.3.1.2/struts2-core-2.3.1.2.jar"/>  <classpathentry kind="lib" path="C:/Program Files/Java/jdk1.6.0_32/lib/tools.jar"/>  <classpathentry kind="var" path="M2_REPO/org/apache/struts/xwork/xwork-core/2.3.1.2/xwork-core-2.3.1.2.jar"/>  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/></classpath>

构建后,WAR文件应部署到%CATALINA_BASE%\webapps

.The Struts dispatcher cannot be found. This is usually caused by using Struts

.The Struts dispatcher cannot be found. This is usually caused by using Struts

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代
1.The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Strut   
2.s tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher n   

3.eeded for this tag. - [unknown location] 

原因:如果想要在 jsp 文件中,采用 struts 的 tag,那么 jsp 必须是通过 action 跳转得到,也就是必须通过 web.xml 所配置的过滤器访问文件,否则会有异常。
解决办法:web.xml 中添加一个 filter 

  <filter-mapping> 
<filter-name>struts2</filter-name> 
<url-pattern>*.jsp</url-pattern> 
</filter-mapping> 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.Tracer$Builder

Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.Tracer$Builder

http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/htrace/core/Tracer$Builder
    at org.apache.hadoop.fs.FsTracer.get(FsTracer.java:42)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2697)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:96)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2747)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2729)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:384)
    at com.abc.test.HdfsDAO.copyFile(HdfsDAO.java:96)
    at com.abc.test.HdfsDAO.main(HdfsDAO.java:34)
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.Tracer$Builder
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more
 

Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl

Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl

Exception in thread "Thread-1" java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspApplicationContextImpl
    at org.apache.jasper.servlet.JspServlet.destroy(JspServlet.java:412)
    at org.eclipse.jetty.servlet.ServletHolder.destroyInstance(ServletHolder.java:362)
    at org.eclipse.jetty.servlet.ServletHolder.doStop(ServletHolder.java:336)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java:208)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:102)
    at org.eclipse.jetty.security.SecurityHandler.doStop(SecurityHandler.java:356)
    at org.eclipse.jetty.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java:237)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:102)
    at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java:133)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:102)
    at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:798)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:153)
    at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:491)
    at org.mortbay.jetty.plugin.JettyWebAppContext.doStop(JettyWebAppContext.java:264)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java:245)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java:245)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:102)
    at org.eclipse.jetty.server.Server.doStop(Server.java:323)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:84)
    at org.eclipse.jetty.util.thread.ShutdownThread.run(ShutdownThread.java:124)
Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    ... 27 more

 

Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils

Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils

 Successfully started service ''org.apache.spark.network.netty.NettyBlockTransferService'' on port 37493.
17/06/29 18:10:40 INFO netty.NettyBlockTransferService: Server created on 192.168.8.29:37493
17/06/29 18:10:40 INFO storage.BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
17/06/29 18:10:40 INFO storage.BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 192.168.8.29, 37493, None)
17/06/29 18:10:40 INFO storage.BlockManagerMasterEndpoint: Registering block manager 192.168.8.29:37493 with 912.3 MB RAM, BlockManagerId(driver, 192.168.8.29, 37493, None)
17/06/29 18:10:40 INFO storage.BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 192.168.8.29, 37493, None)
17/06/29 18:10:40 INFO storage.BlockManager: Initialized BlockManager: BlockManagerId(driver, 192.168.8.29, 37493, None)
17/06/29 18:10:40 INFO handler.ContextHandler: Started o.s.j.s.ServletContextHandler@4aeaadc1{/metrics/json,null,AVAILABLE}
17/06/29 18:10:40 WARN streaming.StreamingContext: spark.master should be set as local[n], n > 1 in local mode if you have receivers to get data, otherwise Spark jobs will not get resources to process the received data.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils
    at org.apache.spark.examples.streaming.JavaKafkaWordCount.main(JavaKafkaWordCount.java:95)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:738)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 10 more
17/06/29 18:10:40 INFO spark.SparkContext: Invoking stop() from shutdown hook
17/06/29 18:10:40 INFO server.ServerConnector: Stopped ServerConnector@2a76b80a{HTTP/1.1}{0.0.0.0:4040}
17/06/29 18:10:40 INFO handler.ContextHandler: Stopped o.s.j.s.ServletContextHandler@1601e47{/stages/stage/kill,null,UNAVAILABLE}
 

今天关于java.lang.ClassNotFoundException:启动SimpleStruts2应用程序时org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter的介绍到此结束,谢谢您的阅读,有关.The Struts dispatcher cannot be found. This is usually caused by using Struts、Caused by: java.lang.ClassNotFoundException: org.apache.htrace.core.Tracer$Builder、Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl、Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils等更多相关知识的信息可以在本站进行查询。

本文标签: