我是Maven构建工具的初学者。为了了解maven,我从eclipse中的原型创建了一个简单的j2ee 1.4 Web应用程序项目。
之后,我在pom.xml中添加了maven tomcat插件。然后我让maven来构建、测试和打包项目。之后,我设定了运行tomcat插件的目标。tomcat插件成功运行,并向我显示了应用部署的链接http://localhost:8080/FirstMavenApp.但是,每当我试图在locahost上测试应用程序时,就会出现Jsp编译错误-
SEVERE: Compilation error
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:342)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:206)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:163)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:96)
at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:97)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:167)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2187)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:974)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1164)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:366)
at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:623)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Apr 18, 2017 10:02:58 PM org.apache.catalina.core.StandardWrapperValve
invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 1 in the generated java file
The type java.io.ObjectInputStream cannot be resolved. It is indirectly
referenced from required .class files
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
然而,我也试着在eclipse中用配置好的tomcat 7服务器运行这个应用程序,它运行得很好。但是maven tomcat插件显示jsp编译错误。
这是我试图在Pom.xml中使用的tomcat插件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
这些是依赖关系
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
正如我之前所说,我甚至没有创建一个servlet或pojo类。只有一个由maven创建的简单jsp。但是maven tomcat插件无法编译它。
所以我几乎不知道这里出了什么问题。如果有人能帮助我,那就太好了。
我认为问题在于创建tomcat版本,升级tomcat版本,同时升级其他依赖项的版本。也可以使用jdk 8。
不知怎的,我找到了这个问题的解决方案。这就是更改命令来启动tomcat插件。
运行tomcat 7 2.2版的正确命令是tomcat7:run-X,而不是tomcat:run
如果某人将来面临同样的问题,这可能会有所帮助。
问题内容: 我是使用库的新手,但是我需要能够向忘记密码的用户发送电子邮件。我正在尝试使用JavaMail和Apache Commons Email来实现这一点。但是,我认为我一定是错误地导入了库。 当我尝试发送电子邮件时,收到以下消息: 编码: 堆栈跟踪: 我已经尝试了几件事: 将包含所有.java文件的org.apache.commons.mail文件夹复制到我的netbeans项目的源文件中,
嗨,我正试图用tomcat编译一个简单的jsp文件,但我一直收到这个错误消息 test.jsp(在Webcontent上) member.java } 据我所知,我有这个问题是因为我的tomcat找不到类文件,所以我把类文件放在 生成/类/pageNumber(其中pageNumber是我的包名) WEB-INF/类/PageNumber Tomcat\work\catalina\localhos
我使用的是最新的TomCat版本,我最近安装了Eclipse Java EE版本,所以它也是最新的版本。顺便说一句,我有最新版本的Java SE(JDK)。 这是我的课: 这是我真正简单的jsp代码: 我得到了这个错误: 类型异常报告 消息无法为JSP编译类: 说明服务器遇到意外情况,无法完成请求。 异常org.apache.jasper.jasperException:无法为JSP编译类: 在生
我是Spring MVC的新手,我试图创建一个简单的Hello World程序,但当我运行该程序时,它显示出以下错误: StackTrace:]根本原因为org.apache.jasper.JasperException:无法为JSP编译类: 在生成的java文件[d:\workspace\springtest1.metadata.plugins\org.eclipse.wst.server.co
每次我在TomCat上运行我的web应用程序时,它都会给我一个错误。这辆车没什么问题。jsp文件,只是我必须重新启动服务器,有时还要重新启动完整的IDE,才能消除这个错误。 错误如下 2014年3月12日下午5:57:01组织。阿帕奇。卡塔琳娜。果心StandardWrapperValve:Servlet。路径为[/Assignment_1_Flight_Reservation_System]的上
我已经尝试了stackoverflow上提到的大多数建议,但还没有找到解决方案。我遇到的错误如下所示。 我正在使用IntelliJ IDEA 2016.2,并应用了这些设置。 →、到 →、到 →→→,到 →→→,到 我使用的是Tomcat V8.0.36,对于JSP servlet有以下内容。 任何建议将不胜感激!