Successful build in Maven still showing errors in Eclipse
Asked Answered
H

21

44

I'm having something quite peculiar here, my build is successful in maven when I type "mvn clean install" however once imported into Eclipse it's showing errors.

See for yourself:

mvn clean install

Eclipse

I guess exluding quartz from the `pom.xml solved the problem but I'd like to know why.


PS: Here is the pom.xml in case you want to see it:

<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.nantes.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.nantes.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 As you can see quartz is here: quartz

Homorganic answered 14/6, 2012 at 9:39 Comment(5)
Try mvn dependency:tree in the command line and check where the quartz dependency comes from. If it is included transitive can you find it in your local maven repository?Informer
the required version is inside my m2 :/Homorganic
Oh you are right, I did not noticed :o sorry. anyway, I did the maven dance^^ but in the end the problem was coming from the fact that m2e was using it's embeded version of maven and not mine.Homorganic
I just noticed that you already found the reason and deleted my former comment about the different quartz versions.Informer
faced the same problem and https://mcmap.net/q/374985/-gradle-project-in-eclipse-builds-fine-but-java-files-show-compilation-error saved meFamiliarize
A
17

Sometimes I get these types of issues as well.

Generally, what worked best for me with Eclipse & Maven:

  • Use the latest m2e Eclipse plugin
  • Use Maven 3
  • Make sure m2e uses the same Maven version as the one you're using on the command line (not the internal one)
  • Import projects as Maven projects to generate the Eclipse project files
Adornment answered 14/6, 2012 at 13:17 Comment(1)
I'm quite embarassed xD m2e was not using my version of maven. it was set to "embedded". I added the path to my maven installation and now it's working.Homorganic
S
67

Updating maven project after importing it has fixed this issue for me:

Right click on the project --> Maven --> Update project.

Sizar answered 11/11, 2015 at 11:4 Comment(6)
Thanks this helped me :)Conflagrant
Worked fine...!Portsmouth
In addition, after running maven-update-project on all projects, I sometimes have to then do a maven-update-project on our core library. Oddly, both steps are necessary in that order. The error I hit was "<a_class_name_here> cannot be resolved to a type" only it should be resolving just fine.Nesselrode
Winner winner, chicken dinner!Calyx
@Eildosa This should probably be the answer to the question!Mutiny
Sweet! Thank you a lot.Claudette
A
17

Sometimes I get these types of issues as well.

Generally, what worked best for me with Eclipse & Maven:

  • Use the latest m2e Eclipse plugin
  • Use Maven 3
  • Make sure m2e uses the same Maven version as the one you're using on the command line (not the internal one)
  • Import projects as Maven projects to generate the Eclipse project files
Adornment answered 14/6, 2012 at 13:17 Comment(1)
I'm quite embarassed xD m2e was not using my version of maven. it was set to "embedded". I added the path to my maven installation and now it's working.Homorganic
N
10

The other upvoted answers did not work for me using these versions:

  • Eclipse Neon
  • Maven 3
  • m2e 1.7

This is what I had to do:

  1. Delete the Eclipse project from Eclipse interface (do not delete project contents on disk)
  2. Go to the project's root directory in a file explorer or terminal
  3. Delete these files: .classpath, .project, and .settings directory
  4. Back to Eclipse, File -> Import... -> Maven -> Existing Maven projects
Northbound answered 29/9, 2016 at 15:34 Comment(0)
J
8

If you don't see any error in Eclipse project but it keeps showing the red icon on your project name. Try mvn eclipse:eclipse.

Then select all projects in Eclipse, Right click > Maven > Update projects

Hope it helps.

Jevon answered 14/3, 2018 at 4:4 Comment(1)
G
5

You should try mvn eclipse:eclipse

And then make sure the M2_REPO variable is point to your local repository.

Gabler answered 14/6, 2012 at 9:47 Comment(6)
I'm using m2e so I don't need to do eclipse:eclipseHomorganic
@Eildosa It seem you don't have quartz-1.5.2.jar.So add this dependency to your pom.xml, and try again.Gabler
If quartz is not in my pom.xml then eclipse is not suposed to look for it. And if it was a transitive dependancy it would download it.Homorganic
You saved my time. explored many options. But this was the ultimate one :)Myo
Don't do eclipse:eclipse, it creates bunch of file in the build path.Nagy
Apache Maven Eclipse Plugin (RETIRED) Note: This plugin is retired. It is no longer maintained.Nolannolana
C
5

sometimes maven update nor all above works. so check which import statement gives you error, then go particular lib file which is usually in c:user/ur-PC-NAME/.m2 get into package delete that .jar file.

then in eclipse, right click on project > maven > update maven.

Caprice answered 30/5, 2017 at 10:52 Comment(3)
I found the same thing was happening to me. There was a .jar included as the scope "provided" and it was in my local repo but Eclipse wasn't detecting it. I did a Maven "update project" and it didn't work still. I was able to build the project from the command line maven. To resolve the issue, I did as you suggested, just deleted (or rename) the folder with the .jar in it in my maven local repo then update and build again and Eclipse picked it up.Spectacle
@atom88, Yes some time eclipse is not able to pick it up. Good it fixed your problem.Caprice
@ShamanthRamesh, it worked, am using Eclipse 2020-09, please bear in mind to uncheck the clean project checkboxTranscontinental
L
4

Sometimes the m2e "maintained" eclipse project is out-of-sync with the actual project in POM (There are lots of reason for that). Assume you have using m2e 0.8 or later, right click on the project, under Maven, there are two entries that are usually useful. They are Update Dependencies and Update Project Configuration

Have a try on them, wait a while after u clicked that for eclipse to update the project and build. Normally it solves similar problems.

Landonlandor answered 14/6, 2012 at 9:55 Comment(1)
didn't worked :/ I think I'm just going to exclude it (must be a transitive dependancy from jboss as client) because I tried everything...Homorganic
C
3

That often happens when the m2eclipse hasn't updated the build path to correspond to what a modified POM file says. There's an entry in the Maven context menu to update the Configuration.

Connotative answered 14/6, 2012 at 9:47 Comment(1)
@Eildosa - Yea ... but it will probably work for other people.Connotative
E
2

In my case,

  1. I just deleted project from Eclipse (not ticked checkbox to delete from project location).

  2. Opened project as "Existing Maven Project" again.

and it solved my issue.

Erose answered 17/10, 2019 at 9:52 Comment(0)
T
1

I found that my project was using a project specific Java Compiler setting set to Java 1.5. Furthermore, the project facets were still referencing Java 1.5 when Maven, m2e, Eclipse general Java Compiler settings were all set to Java 1.8.

Tarnation answered 19/11, 2014 at 22:16 Comment(1)
This is normally adjusted by "Update Project from Maven POM", but not always. It is good to see the JRE used in the library path to get alerted.Engels
I
1

In my case there were also problems with Java build path like the following: "Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment." Fixing this resolved compilation errors.

Incrustation answered 8/12, 2017 at 22:40 Comment(0)
V
0

You've a library (quartz-1.5.2.jar) that's reference to your m2 local repository which doesn't exist if you just remove the quartz from your build path and update your dependencies internally(in eclipse) that would solve the problem

Velar answered 14/6, 2012 at 9:46 Comment(0)
D
0

Try to use different/older version of JRE. In my case switching back to JRE7 from JRE8 eliminated the problem.

Distributor answered 13/6, 2014 at 23:0 Comment(0)
K
0

Delete and Re-Import the project in eclipse (without deleting files of course). Unlike other answers I have not looked into why this happens but it works. poof - compilations errors be-gone

Keitel answered 5/2, 2015 at 15:55 Comment(1)
This STILL does not fix the issue for me, using Eclipse NeonNorthbound
I
0

It may help: After upgrading eclipse or changing it or something like, old eclipse specific files (.classpath, .project, and .settings) may not be compatible to the new version of eclipse. So you may have to re generate this eclipse specific files using Maven. So try this in your eclipse project root

mvn eclipse:eclipse
Inseverable answered 25/2, 2019 at 10:6 Comment(1)
I
0

In my case, eclipse starts to show all errors after I changed some versions of dependencies in pom.xml, however the command line mvn clean install build successfully

  1. I deleted folders of the dependencies I changed manually from the .m2 repositories (in my case everything under org.apache.beam), because I also has corrupted dependency issues.
  2. mvn clean build the project, this downloaded the dependencies again
  3. right click project: maven -> update project
  4. delete the project from eclipse (but not from disk) and reimport (this actually left me with 1 error still, then i delete and reimported again)
Ikey answered 3/4, 2019 at 20:54 Comment(0)
E
0

Go to Eclipse> Project (Menu) > Clean... > Select project to clean

This also removes invalid errors from Eclipse.

Erose answered 20/4, 2020 at 10:6 Comment(0)
I
0

For me Right click on the project --> Maven --> Update project with the "Force Update of Snapshots/Releases" checkmarked worked.

Illustrator answered 7/12, 2020 at 13:56 Comment(0)
S
0

Some times, eclipse's validation causing these errors. You can disable them by going to Menu>window>preferences>validation and uncheck suspend all validators or disable them one by one for builds. E.G, every time You build the project eclipse does not validate your files and does not show up those errors.

Serious answered 19/1, 2021 at 15:14 Comment(0)
C
0

This worked for me

  1. Delete the Eclipse project from Eclipse interface (do not delete project contents on disk)
  2. Go to the project's root directory in a file explorer or terminal
  3. Delete these files: .classpath, .project, and .settings directory
  4. Back to Eclipse, File -> Import... -> Maven -> Existing Maven projects
Collop answered 11/12, 2021 at 10:31 Comment(0)
W
0

Got the same problem, I deleted the project from my workspace (not on disk), opened the project folder and deleted the files .project, .classpath and the folder named .settings.
Now goto eclipse again, import the same project again and viola my error is gone!

Wards answered 20/5, 2022 at 12:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.