Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8358066

Non-ascii package names gives compilation error "import requires canonical name"

XMLWordPrintable

    • 22
    • master
    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      Issue seen on Windows 10, MacOs 15.* and Ubuntu.
      Issue started with Java 22 and has persisted in Java 23 + Java 24. All distributions (OpenJDK, Oracle, Temurin)
      Building with maven 3.9.9 and maven-compiler-plugin 3.14.0


      A DESCRIPTION OF THE PROBLEM :
      Building with maven 3.9.9 and maven-compiler-plugin 3.14.0 with sourceEncoding UTF-8.
      Non-ascii class names builds OK, but non-ascii package names (Norwegian letters æøå) results in
      * Error message: "import requires canonical name"
      * Error message: "cannot find symbol" with garbled symbol and location (missing characters)

      The code has built OK with Java 11 - Java 21, errors started only with Java 22 and continues in Java 24

      Sample error messages
      [ERROR] /git/fp-stonadskonto/src/main/java/no/nav/foreldrepenger/stønadskonto/grensesnitt/Stønadsdager.java:[8,61] import requires canonical name for no.nav.foreldrepenger.stønadskon.o.regelmode.l.konfig.Parametertype
      [ERROR] /git/fp-stonadskonto/src/main/java/no/nav/foreldrepenger/stønadskonto/regelmodell/StønadskontoKontotype.java:[1,1] package no.nav.foreldrepenger.stønadskon.o.regelmodell clashes with class of same name
      [ERROR] /git/fp-stonadskonto/src/main/java/no/nav/foreldrepenger/stønadskonto/regelmodell/StønadskontoKontotype.java:[5,8] cannot find symbol
        symbol: class o.regelmodell
        location: package no.nav.foreldrepenger.stønadskon

       

      REGRESSION : Last worked in version 21.0.7

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Clone public repository https://github.com/navikt/fp-stonadskonto and build using JDK 22, JDK 24
      Altering java.version in pom will not change the situation

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Build OK (JDK 11 .. 21)
      ACTUAL -
      Many errors of type
      [ERROR] /git/fp-stonadskonto/src/main/java/no/nav/foreldrepenger/stønadskonto/grensesnitt/Stønadsdager.java:[8,61] import requires canonical name for no.nav.foreldrepenger.stønadskon.o.regelmode.l.konfig.Parametertype
      [ERROR] /git/fp-stonadskonto/src/main/java/no/nav/foreldrepenger/stønadskonto/regelmodell/StønadskontoKontotype.java:[1,1] package no.nav.foreldrepenger.stønadskon.o.regelmodell clashes with class of same name
      [ERROR] /git/fp-stonadskonto/src/main/java/no/nav/foreldrepenger/stønadskonto/regelmodell/StønadskontoKontotype.java:[5,8] cannot find symbol
        symbol: class o.regelmodell
        location: package no.nav.foreldrepenger.stønadskon

      ---------- BEGIN SOURCE ----------
      See code in https://github.com/navikt/fp-stonadskonto
      ---------- END SOURCE ----------

            acobbs Archie Cobbs
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: