Como usar o maven com Java9.0.1 e empacotamento pom no Eclipse Oxygen 1a Release (4.7.1a)?

O exemplo do projeto maven que é dado abaixo mostra um erro nomodule-info.java no Eclipse Oxygen:

log4j.api cannot be resolved to a module. 

Se eu remover a linha

<packaging>pom<packaging>

do pom.xml o erro desaparece. No entanto, preciso usar as embalagens pom. Se eu usar o Java8 sem definições de módulo, a parte principal do meu exemplo do mundo real funcionará muito bem. A tentativa de migrar para o Java9 me confrontou com esse novo problema. Primeiro, pensei em não referenciar corretamente a dependência do log4j. Então eu descobri que isso tem algo a ver com a embalagem pom que eu preciso no meu projeto de vários módulos. Eu criei um exemplo mínimo que é dado abaixo para permitir que você reproduza as mensagens de erro no Eclipse.

=> Isso é um bug do plug-in M2E (1.8.2.20171007-0217)?

=> Caso contrário, como devo adaptar meu arquivo pom.xml para trabalhar com Java9?

Assuntos relacionados:

Como usar o log4j com maven e java9?

A importação de um projeto Java-9-Jigsaw-Maven no Eclipse Oxygen 4.7 não funciona

Módulos Java 9 e JUnit 4

O Maven pode gerar a declaração do módulo

Onde devo colocar testes de unidade ao migrar um projeto Java 8 para o Jigsaw

Qual módulo devo exigir no Java 9 para usar o JPA?

Lista de módulos java:http://download.java.net/java/jigsaw/docs/api/overview-summary.html

Projeto de exemplo mínimo (meu exemplo real é mais complexo):

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>Log4JWithJava9</groupId>
    <artifactId>Log4JWithJava9</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

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

    <build>

        <plugins>

            <!-- plugin for resource phase -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <executions>
                    <execution>
                        <id>resource-execution</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>resources</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- plugin for compile phase (and test-compile phase) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <!-- specify current java version here: -->
                    <source>9</source>
                    <target>9</target>
                </configuration>
                <executions>
                    <execution>
                        <id>compile-execution</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-compile-execution</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- ### PACKAGE ### phase -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <executions>
                    <execution>
                        <id>package-execution</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>

                        </configuration>
                    </execution>
                </executions>
            </plugin>

        <!-- plugin for install phase -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.5.2</version>
            <executions>
                <execution>
                    <id>install-execution</id>
                    <phase>install</phase>
                    <goals>
                        <goal>install</goal>
 ,                   </goals>
                </execution>
            </executions>
        </plugin>

        </plugins>
    </build>

    <dependencies>

        <!-- log4j -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.9.1</version>
        </dependency>

    </dependencies>

</project>

module-info.java

module Log4JWithJava9 {
    exports isi.share;      
    requires javafx.base;
    requires log4j.api; 
}

Main.java

package isi.share;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;


public class Main {

    private static Logger sysLog = LogManager.getLogger(Main.class);

    public static void main(String[] args) {

    }

}

Saída para configuração de execução maven com instalação limpa:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Log4JWithJava9 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ Log4JWithJava9 ---
[INFO] Deleting D:\EclipseJava\workspace\Log4JWithJava9\target
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (resource-execution) @ Log4JWithJava9 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\EclipseJava\workspace\Log4JWithJava9\src\main\resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (compile-execution) @ Log4JWithJava9 ---
[WARNING] ********************************************************************************************************************
[WARNING] * Required filename-based automodules detected. Please don't publish this project to a public artifact repository! *
[WARNING] ********************************************************************************************************************
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to D:\EclipseJava\workspace\Log4JWithJava9\target\classes
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (test-compile-execution) @ Log4JWithJava9 ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (package-execution) @ Log4JWithJava9 ---
[INFO] Building jar: D:\EclipseJava\workspace\Log4JWithJava9\target\Log4JWithJava9-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ Log4JWithJava9 ---
[INFO] Installing D:\EclipseJava\workspace\Log4JWithJava9\pom.xml to C:\Users\eis\.m2\repository\Log4JWithJava9\Log4JWithJava9\0.0.1-SNAPSHOT\Log4JWithJava9-0.0.1-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (install-execution) @ Log4JWithJava9 ---
[INFO] Installing D:\EclipseJava\workspace\Log4JWithJava9\pom.xml to C:\Users\eis\.m2\repository\Log4JWithJava9\Log4JWithJava9\0.0.1-SNAPSHOT\Log4JWithJava9-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.520 s
[INFO] Finished at: 2017-11-10T20:41:10+01:00
[INFO] Final Memory: 15M/52M
[INFO] ------------------------------------------------------------------------

Projeto de exemplo completo do Eclipse:

https://github.com/stefaneidelloth/java9MavenEclipse

Ferramentas usadas:

Eclipse para desenvolvedores RCP e RAP, liberação Oxygen 1a (4.7.1a) (incluindo M2E versão 1.8.2.20171007-0217)

Java JDK versão 9.0.1

questionAnswers(0)

yourAnswerToTheQuestion