7

Define the default java compliance level for maven projects in eclipse

 3 years ago
source link: https://www.codesd.com/item/define-the-default-java-compliance-level-for-maven-projects-in-eclipse.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Define the default java compliance level for maven projects in eclipse

advertisements

The default compliance level for maven is 1.5 and every time that I update a maven project in eclipse it sets back the compliance level from 1.6 to 1.5 which is really annoying for me.

I know that I can set the target to 1.6 in pom file but the problem is that I cannot set this in the parent pom and expect the children to inherit it. So I have to do it for every single maven module. How can I set it in my maven project or in the whole eclipse once for a "lifetime" without modifying every single maven module!?


I know that I can set the target to 1.6 in pom file but the problem is that I cannot set this in the parent pom and expect the children to inherit it.

Setting the <source> and <target> version in the parent pom does work.

For example, in my parent pom, I have:

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

If you are having problems, you might want to check that:

  • the child specifies the correct version of the parent;
  • the parent pom specifies both source and target values;
  • you have run mvn install on the parent; and
  • mvn help:effective-pom on the child project shows the expected source/target values.

After modifying the poms, you may need to select both projects and use Maven->Update Project.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK