Maven编译失败(但Eclipse下的编译成功)

Eclipse构建我的Web项目时,一切都很好: 没有错误,没有警告

然而,在使用Maven构建项目时,它很糟糕 。 下面是mvn compile的输出格式:

c:\ Users \ jwa \ Desktop \ tets \ traffic_web> mvn compile -e +错误堆栈跟踪已打开。 [INFO]扫描项目… [INFO] ————————————– ———————————- [INFO]建筑物traffic_web [INFO]
任务段:[编译] [INFO] —————————————- ——————————– [INFO] [resources:resources {execution:default-resources}] [警告]使用平台编码(实际上是Cp1250)来复制过滤后的资源,即构建依赖于平台! [INFO]跳过不存在的resourceDirectory c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ main \ resources [INFO] [compiler:compile {execution:default-compile}] [INFO]将22个源文件编译为c: \ Users \ jwa \ Desktop \ tets \ traffic_web \ target \ classes [INFO] ——————————— ————————————— [ERROR] BUILD FAILURE [INFO] — ————————————————– ——————- [INFO]编译失败

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ Encryptor.java:[7,15] sun.misc.BASE64Encoder是Sun propriet ary API,可能会在将来的版本中删除

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ Session.java:[3,25]包javax.servlet.http不存在

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ Session.java:[15,21]找不到符号符号:class HttpSession location:class traffic_web.tools.Session

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[6,20]包javax。 servlet不存在

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[7,20]包javax。 servlet不存在

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[8,20]包javax。 servlet不存在

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[10,58]找不到s ymbol符号:class ServletContextListener public class ServletContextListenerInitializer实现ServletContextListener {

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[12,33]找不到s ymbol符号:class ServletContextEvent location:class traffic_web.tools.ServletContextListenerInitializer

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[15,35]找不到s ymbol符号:class ServletContextEvent location:class traffic_web.tools.ServletContextListenerInitializer

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ controller \ BoardController.java:[9,25]包javax.servlet.http不存在

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ controller \ BoardController.java:[87,29]找不到符号符号:class HttpServletResponse location:class traffic_web.controller.BoardController

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ controller \ BoardController.java:[116,37]找不到符号符号:class HttpServletResponse location:class traffic_web.controller.BoardController

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ Encryptor.java:[27,15] sun.misc.BASE64Encoder是Sun专有API,可能会在将来的版本中删除

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ Session.java:[17,27]无法访问javax.servlet.http.HttpSe rvletRequest类文件,找不到javax.servlet.http.HttpServletRequest return attr.getRequest()。getSession(true); // true ==允许创建

c:\ Users \ jwa \ Desktop \ tets \ traffic_web \ src \ traffic_web \ tools \ ServletContextListenerInitializer.java:[17,8]找不到sy mbol符号:class ServletContext location:class traffic_web.tools.ServletContextListenerInitializer

[INFO] ———————————————– ————————- [INFO]跟踪org.apache.maven.BuildFailureException:org.apache.maven.lifecycle.DefaultLifecycleExecutor的编译失败。在org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:55 6)的org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)上的executeGoals(DefaultLifecycleExecutor.java:715)。位于org.apache.maven.lifecycle.DefaultLifecycle.effaultExecutor.exe执行的org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)中的apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav a:387)(DefaultLifecycleExecutor) .java:180)org.apache.maven.maven.DefaultMaven.doExecute(DefaultMaven.java:328)org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)org.apache.maven.cli.MavenCli。在org.apac的main(MavenCli.java:362) 在sun.reflect的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)的sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)中的he.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)。在org.codehaus.classworlds的org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)的java.lang.reflect.Method.invoke(Method.java:597)中委托MethodAethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) .Launcher.launch(Launcher.java:255)org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)at org.codehaus.classworlds.Launcher.main(Launcher.java:375)引起:org。 apache.maven.plugin.CompilationFailureException:org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)的编译失败,位于org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)org org.apache.maven.lifecycle.DefaultLifecycleExec中的.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) utor.executeGoals(DefaultLifecycleExecutor.java:694)… 17更多[INFO] ——————————– —————————————- [INFO]总时间:1秒[INFO ]完成时间:星期一6月28日21:56:25 CEST 2010 [INFO]最终记忆:13M / 254M

[信息]

我的POM文件看起来像这样:

  4.0.0 masters.traffic traffic_web war traffic_web 0.1.0  src   org.apache.maven.plugins maven-compiler-plugin  1.6 1.6     ...  

有人可以帮我解决这个问题吗?

问候

您尚未将servlet类添加为依赖项。 Eclipse中默认存在默认值,因此可以从那里进行编译。 将以下内容添加到pom中(在...之前,从此处获取 ):

  [...]  javax.servlet servlet-api 2.4 provided