Getting "The POM for <name> is invalid, transitive dependencies (if any) will not be available" only in Eclipse

The pom for com.sun.xml.bind.jaxb-impl has com.sun.xml.bind:jaxb-parent has its parent.

jaxb-parent pom has the following section:

<profile>
    <id>default-tools.jar</id>
    <activation>
        <file>
            <exists>${java.home}/../lib/tools.jar</exists>
        </file>
    </activation>
    <properties>
        <tools.jar>${java.home}/../lib/tools.jar</tools.jar>
    </properties>
</profile>
<profile>
    <id>default-tools.jar-mac</id>
    <activation>
    <file>
        <exists>${java.home}/../Classes/classes.jar</exists>
    </file>
    </activation>
    <properties>
        <tools.jar>${java.home}/../Classes/classes.jar</tools.jar>
    </properties>
</profile>

In your Eclipse, neither of the profile seems to be activated due to which ${tools.jar} does not have a value.

One possibility could be JAVA_HOME value is set incorrectly.


After further investigation it appears that I have the same problem as in this question:

Maven not picking JAVA_HOME correctly

The solution thanks to @rustyx (please upvote that answer):

To fix the issue you need to start Eclipse using the JRE from the JDK by adding something like this to eclipse.ini (before -vmargs!):

-vm
C:\<your_path_to_jdk170>\jre\bin\javaw.exe