在Maven中成功构建仍然在Eclipse中显示错误

问题描述 投票:31回答:16

我在这里有一些非常特殊的东西,当我输入“mvn clean install”时,我的构建在maven中成功,但是一旦导入到Eclipse中它就会显示错误。

你自己看:

我想从`pom.xml中排除石英解决了问题,但我想知道原因。


PS:如果你想看到它,这是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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.thongvan.mpclient</groupId>
  <artifactId>MyClient</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>MyClient</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.thongvan.mp</groupId>
        <artifactId>MyEjb</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.jbossas</groupId>
        <artifactId>jboss-as-client</artifactId>
        <version>5.1.0.GA</version>
        <type>pom</type>
    </dependency>
  </dependencies>
</project>

EDIT

如你所见,石英在这里:

java eclipse maven ejb-3.0
16个回答
15
投票

有时我也会遇到这些类型的问题。

一般来说,Eclipse和Maven最适合我的是:

  • 使用最新的m2e Eclipse插件
  • 使用Maven 3
  • 确保m2e使用与您在命令行上使用的Maven版本相同的Maven版本(而不是内部版本)
  • 将项目导入为Maven项目以生成Eclipse项目文件

1
投票

在我的例子中,Java构建路径也存在如下问题:“构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE。”修复此已解决的编译错误。


0
投票

你有一个库(quartz-1.5.2.jar)引用你的m2本地存储库,如果你只是从你的构建路径中删除石英并在内部更新你的依赖项(在eclipse中)来解决这个问题就不存在


0
投票

尝试使用不同/旧版本的JRE。在我的情况下,从JRE8切换回JRE7消除了这个问题。


0
投票

在eclipse中删除并重新导入项目(当然不删除文件)。与其他答案不同,我没有考虑过为什么会发生这种情况但是有效。 poof - 汇编错误消失了


0
投票

它可能有所帮助:升级eclipse或更改它之后,旧的eclipse特定文件(.classpath,.project和.settings)可能与新版本的eclipse不兼容。因此,您可能必须使用Maven重新生成此eclipse特定文件。所以在你的eclipse项目根目录中尝试这个

mvn eclipse:eclipse

0
投票

在我的情况下,在我更改pom.xml中的某些版本的依赖项之后,eclipse开始显示所有错误,但命令行mvn clean install build成功

  1. 我删除了我从.m2存储库手动更改的依赖项的文件夹(在我的情况下,org.apache.beam下的所有内容),因为我也有损坏的依赖项问题。
  2. mvn clean构建项目,这再次下载了依赖项
  3. 右键单击项目:maven - >更新项目
  4. 从eclipse(但不是从磁盘)中删除项目并重新导入(这实际上让我仍然有1个错误,然后我删除并再次重新导入)

-1
投票

我在使用eclipse插件时遇到了这个问题。一个对我有用的解决方案是从eclipse更新类路径。

右键单击项目 - >插件工具 - >更新类路径


47
投票

导入后更新maven项目已经为我解决了这个问题:

右键单击项目 - > Maven - > Update项目。


8
投票

其他upvoted答案对我使用这些版本不起作用:

  • Eclipse Neon
  • Maven 3
  • m2e 1.7

这就是我必须做的事情:

  1. 从Eclipse界面删除Eclipse项目(不要删除磁盘上的项目内容)
  2. 转到文件资源管理器或终端中项目的根目录
  3. 删除这些文件:.classpath.project.settings目录
  4. 回到Eclipse,File - > Import ... - > Maven - >现有的Maven项目

5
投票

有时maven更新或以上所有工作。所以检查哪个import语句给你错误,然后去特定的lib文件,通常在c:user / ur-PC-NAME / .m2进入包删除那个.jar文件。

然后在eclipse中,右键单击项目> maven>更新maven。


5
投票

如果您在Eclipse项目中没有看到任何错误,但它会在项目名称上显示红色图标。试试mvn eclipse:eclipse

然后在Eclipse中选择所有项目,右键单击> Maven>更新项目

希望能帮助到你。


4
投票

你应该尝试mvn eclipse:eclipse

然后确保M2_REPO变量指向您的本地存储库。


4
投票

有时,m2e“维护”的eclipse项目与POM中的实际项目不同步(有很多原因)。假设您使用m2e 0.8或更高版本,右键单击项目,在Maven下,有两个通常有用的条目。它们是更新依赖项和更新项目配置

尝试一下它们,等一下你点击eclipse来更新项目和构建。通常它解决了类似的问题。


3
投票

当m2eclipse没有更新构建路径以对应于修改的POM文件所说的内容时,通常会发生这种情况。 Maven上下文菜单中有一个条目来更新配置。


1
投票

我发现我的项目使用的是项目特定的Java Compiler设置设置为Java 1.5。此外,当Maven,m2e,Eclipse通用Java编译器设置都设置为Java 1.8时,项目方面仍然引用Java 1.5。

© www.soinside.com 2019 - 2024. All rights reserved.