Maven:mvn安装结果导致编译失败

Maven:mvn安装结果导致编译失败,maven,compiler-errors,installation,Maven,Compiler Errors,Installation,当运行命令“mvn clean”时,它返回生成成功,但当运行“mvn install”时,它返回编译失败。你能帮我找出导致错误的原因吗?提前谢谢 编辑:添加日志。 [错误]\Users…\workspace\project\src\main\java\c om\project\Interceptor.java:[30,22]找不到symbo L 符号:变量HttpServletResponse 位置:class com.project.Interceptor [信息]49个错误 [信息]---

当运行命令“mvn clean”时,它返回生成成功,但当运行“mvn install”时,它返回编译失败。你能帮我找出导致错误的原因吗?提前谢谢

编辑:添加日志。


[错误]\Users…\workspace\project\src\main\java\c
om\project\Interceptor.java:[30,22]找不到symbo
L
符号:变量HttpServletResponse
位置:class com.project.Interceptor
[信息]49个错误
[信息]-------------------------------------------------------------
[信息]------------------------------------------------------------------------
[信息]生成失败
[信息]------------------------------------------------------------------------
[信息]总时间:2.730秒
[信息]完成时间:2012年3月8日星期四11:14:16
[信息]最终内存:9M/24M
[信息]------------------------------------------------------------------------
[错误]无法执行目标org.apache.maven.plugins:maven编译器插件:2。
3.2:项目上的编译(默认编译):编译失败:Co
迁移失败:
[错误]\Users…\workspace\project\src\main\java\c
om\project\Interceptor.java:[3,25]包javax.serv
let.http不存在
[错误]\Users…\workspace\project\src\main\java\c
om\project\Interceptor.java:[4,25]包javax.serv
let.http不存在
[错误]\Users…\workspace\project\src\main\java\c
om\project\Interceptor.java:[26,26]找不到symbo
L
......
[错误]符号:变量HttpServletResponse
[错误]位置:class com.project.Interceptor
[错误]->[帮助1]
org.apache.maven.lifecycle.LifecycleExecutionException:未能执行目标o
插件:maven编译器插件:2.3.2:compile(默认编译)on
project mobile gateway:编译失败
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:213)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
位于org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(生命周期
eStarter.java:161)
在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)上
位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
位于org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
位于org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。
爪哇:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(delegatingmethodaccess
sorImpl.java:25)
位于java.lang.reflect.Method.invoke(Method.java:597)
在org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced(Laun
cher.java:290)
在org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.jav)上
a:230)
在org.codehaus.plexus.classworlds.launcher.launcher.mainWithExitCode(La
uncher.java:409)
位于org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:
352)
原因:org.apache.maven.plugin.CompilationFailureException:编译失败
乌尔
位于org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler
Mojo.java:656)
位于org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(默认
BuildPluginManager.java:101)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:209)
... 还有19个
[错误]
[错误]
[错误]有关错误和可能的解决方案的更多信息,请重试
d以下条款:
[错误][帮助1]
eption


编辑2:顺便说一下,我正在使用Eclipse Indigo IDE和Glassfish 3.1。

您缺少一些Java EE依赖项,请尝试将以下依赖项添加到pom.xml中(您可能需要更多):


javax.servlet
servlet api
2.4

希望能有所帮助。

[ERROR]symbol:variable HttpServletResponse
[ERROR]location:class com.project.Interceptor
是问题所在,但您还没有包括特定于编译错误的输出的重要部分
mvn clean
删除以前版本的任何跟踪,因此很少失败,
mvn install
实际上开始编译Java,因此如果代码中有问题,它将产生编译错误,就像您得到的一样。@SpellingD,感谢您的输入。我使用了“import javax.servlet.http.HttpServletRequest;”,它在保存后不会在代码中产生任何编译错误,但在运行“mvn install”后,它会产生任何编译错误。您应该在
构建失败之前,包含第一次出现错误的日志部分。它应该位于
Building
@SpellingD之后的文本块中,日志已更新。我不知道为什么找不到HttpServletResponse。我需要添加一些东西吗?我在pom.xml中添加了它,它可以正常工作。但是为什么必须在pom.xml中呢?我已经包含了ServerRuntime库GlassFish 3.1,javax.servlet已经存在,但是仍然找不到它?@iamate.exception,根据maven输出,编译时需要servlet-api.jar,这通常意味着您有一些类显式导入包javax.servlet.http并使用类HttpServletResponse。将其添加到GlassFish lib文件夹仅允许GlassFish在运行时解析它

[ERROR] \Users...\workspace\project\src\main\java\c
om\project\Interceptor.java:[30,22] cannot find symbo
l
symbol  : variable HttpServletResponse
location: class com.project.Interceptor
[INFO] 49 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.730s
[INFO] Finished at: Thu Mar 08 11:14:16 CST 2012
[INFO] Final Memory: 9M/24M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.
3.2:compile (default-compile) on project project: Compilation failure: Co
mpilation failure:
[ERROR] \Users...\workspace\project\src\main\java\c
om\project\Interceptor.java:[3,25] package javax.serv
let.http does not exist
[ERROR] \Users...\workspace\project\src\main\java\c
om\project\Interceptor.java:[4,25] package javax.serv
let.http does not exist
[ERROR] \Users...\workspace\project\src\main\java\c
om\project\Interceptor.java:[26,26] cannot find symbo
l
......
[ERROR] symbol  : variable HttpServletResponse
[ERROR] location: class com.project.Interceptor
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
rg.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on
 project mobile-gateway: Compilation failure
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:213)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation fail
ure
        at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler
Mojo.java:656)
        at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:209)
        ... 19 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExc
eption
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.4</version>
</dependency>