Uploaded image for project: 'Maven Compiler Plugin'
  1. Maven Compiler Plugin
  2. MCOMPILER-321

Problematic Java 9 modules are silently ignored

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.8.0
    • None

    Description

      Before the compilation starts, the compiler plugin prepares the module path and the class path. Unfortunately, this process is very lenient. If the plugin cannot find a module that is specified in the module-info file, it doesn't report this problem, and it just carries on. In the end, the compiler will give a "module not found", giving no clue about the root cause.

      As an example, I attached a simple maven project with a module info file that refers to an automatic module named jython-standalone. The dependencies contain a jar file jython-standalone-2.7.0.jar. That jar file contains no module information, and it would normally be resolvable as an automatic module. However, when building the project, the Java compiler fails with this error:

      module not found: jython.standalone

      The root cause of the error is that the jar file contains a class at top level, which is illegal for a module. So, the error message "module not found" is misleading.

      I think this is a bug, because the maven-compiler-plugin fails to perform its task of building a correct module path, but doesn't tell, and just carries on. Instead, it should stop, and give an informative error message.

      Relevant source code:

      The MainClassModuleNameExtractor uses the ModuleFinder class of the JDK to find modules. I think that these two error situations should lead to an error and a clear description of possible causes:

      • ModuleFinder#findAll returns an empty set.
      • ModuleFinder#findAll results in a FindException. When this happens is well documented in the ModuleFinder#of method. This exception is currently swallowed.

      Attachments

        1. maven-compiler-plugin-bug.zip
          2 kB
          Marcel Kolsteren

        Activity

          People

            rfscholte Robert Scholte
            mkolsteren Marcel Kolsteren
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: