最近很多小伙伴都在问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
- .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
我正在尝试运行一个简单的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

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
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
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
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等更多相关知识的信息可以在本站进行查询。
本文标签: