【问题标题】:Maven compiler plugin: Compilation failureMaven编译器插件:编译失败
【发布时间】:2013-03-07 11:23:51
【问题描述】:

当我从编译开始执行任何目标时,它无法编译我的 ui sub pom 项目。 只是保持源/目录命名非常平淡,抱歉。但格式几乎是这样的:

[ERROR] 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project ui: Compilation failure: Compilation failure:

[ERROR] 无法解析错误信息:[解析开始 C:\Path\Of\My\Project\src\main\java\com\ui\javaFile.java]

[ERROR] [解析完成16ms]

我所有的 java 源文件都出现了同样的解析错误。 后来在错误的垃圾邮件中它说:

[错误] C:\Path\Of\My\Project\ui\src\main\java\com\ui\javaFile.java:[13,20] 包 javax.servlet 不存在

这是否意味着它无法编译,因为我缺少一些必需的依赖项?

我的环境变量下的 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.6.0_43 并且我的路径有 %JAVA_HOME%\bin 粘在它上面。 我的父母 pom 也有:

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler.plugins</artifactId>
      <version>2.0.2</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

为了安全起见,它也在普通的插件元素中。 我知道我的 ui 项目的子 pom 正确地引用了父 pom。

不知道还能想到什么:(

伙计们,放轻松!我是 Maven 菜鸟。必须将 Ant build.xml 项目转换为 Maven。希望得到一些建议:)

【问题讨论】:

  • 我建议使用更高版本的compiler plugin,截至本文撰写时的最新版本是 3.0,根据changelog,您使用的是 6 岁的 2.0.2。使用更高版本不会修复编译失败,但可能会修复那些解析错误。

标签: maven compilation dependencies maven-3 maven-compiler-plugin


【解决方案1】:

Maven 发出信号,表明您的 pom.xml 中没有 servlet-api 依赖项。
我建议您在 pom.xml 中包含以下依赖项

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>

【讨论】:

  • 如果这是一个 WAR 项目,我建议也使用 &lt;scope&gt;provided&lt;/scope&gt;。这将防止 servlet-api JAR 包含在您的 WAR 中。
  • 这消除了一些错误。不过,还有更多。我会继续添加它说它丢失的东西,看看我如何从那里开始:) 谢谢
  • 好的,现在我得到的包 com.package.of.my.other.project.pd 不存在。为了让它依赖于我的其他项目,我应该输入什么作为依赖项?
猜你喜欢
  • 1970-01-01
  • 2021-06-27
  • 2018-01-02
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
相关资源
最近更新 更多