Menu

#1525 Java 17 compatibility

6.1
open-fixed
nobody
None
5
2023-09-28
2020-11-21
xhrl7entx
No

On a new install, I am getting a java.lang.NoClassDefFoundError when launching OmegaT 5.4 beta (see screenshot for details). The error is not fatal, as I can simply OK it and apparently have no further problem.

I am running OmegaT under Arch Linux with java-14-openjdk.

1 Attachments

Discussion

  • xhrl7entx

    xhrl7entx - 2020-11-21

    Version is actually 5.3.0.

     
  • Aaron Madlon-Kay

    • summary: java.lang.NoClassDefFoundError on launching --> Cannot run on Java 14
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,3 +1,3 @@
    -On a new install, I am getting a java.lang.NoClassDefFoundError when launching OmegaT 5.4 beta (see screenshot for details). The error is not fatal, as I can simply OK it and apparently have no further problem.
    +On a new install, I am getting a `java.lang.NoClassDefFoundError` when launching OmegaT 5.4 beta (see screenshot for details). The error is not fatal, as I can simply OK it and apparently have no further problem.
    
     I am running OmegaT under Arch Linux with java-14-openjdk.
    
     
  • Aaron Madlon-Kay

    OmegaT does not claim compatibility with Java 14. We officially support only Java 8 and Java 11 for now.

     
  • Aaron Madlon-Kay

    Ticket moved from /p/omegat/bugs/1024/

     
  • Aaron Madlon-Kay

    • summary: Cannot run on Java 14 --> Java 14 compatibility
     
  • Aaron Madlon-Kay

    Since this is not a bug (it's expected behavior) I have moved it to Feature Requests.

     
  • Hiroshi Miura

    Hiroshi Miura - 2021-06-14

    Upcoming Java17 in Sep. 2021 will be LTS and it would be good next target to be a base version.
    Current Java 8 is supported until May 2026 at least, and Java 17 may be supported until Sep. 2026 at least.

    Has @amake a planed timeline for next supported Java platform and migrations paths?

     
  • Aaron Madlon-Kay

    I haven't planned anything. The only thing I feel strongly about is that we should keep Java 8 support probably until EOL, although I am willing to reconsider if keeping Java 8 conflicts with some other very important goal.

    The only thing standing in the way of support for new Java versions is that no one has done the work to fix the incompatibilities.

     
  • Hiroshi Miura

    Hiroshi Miura - 2021-06-27

    OmegaT 5.6 (master branch) on Java 14.0.2 run well but warn as follows

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by org.omegat.Main (file:/home/miurahr/Projects/omegat/build/classes/java/main/) to field sun.awt.X11.XToolkit.awtAppClassName
    WARNING: Please consider reporting this to the maintainers of org.omegat.Main
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    62593: 情報: Textra Machine Translation plugin enabled. 
    62593: 情報: イベント:プログラムの起動 (LOG_INFO_EVENT_APPLICATION_STARTUP)
    62593: 情報: 利用可能なスクリプト言語: 
    62593: 情報:  - Groovy Scripting Engine Groovy v.3.0.7 (拡張子 : groovy) 
    62593: 情報:  - Oracle Nashorn ECMAScript v.ECMA - 262 Edition 5.1 (拡張子 : js) 
    

    Groovy reflection error is not happened. IMHO, Groovy version is updated from OmegaT 5.3.0.

     

    Last edit: Hiroshi Miura 2021-06-27
  • Aaron Madlon-Kay

    As of [50723f] OmegaT launches without error for me on Java 16, though I haven't tested it thoroughly.

    I don't see much value to declaring explicit support for Java 14, as opposed to targeting Java 17 as Hiroshi suggested. So I will repurpose this ticket for Java 17.

    The built-in Nashorn JavaScript engine was removed in Java 16 so that will be a blocker for this. [#1575] would address it.

     

    Related

    Commit: [50723f]
    Feature Requests: #1575

    • Hiroshi Miura

      Hiroshi Miura - 2022-09-16

      The built-in Nashorn JavaScript engine was removed in Java 16 so that some script will lost execution engine. Many scripts are written by Groovy but some in Javascript.
      we can see two js script in scripts folder.

      When we want to keep support js as OmegaT script, it will be also a blocker.

       
  • Aaron Madlon-Kay

    • summary: Java 14 compatibility --> Java 17 compatibility
     
  • Hiroshi Miura

    Hiroshi Miura - 2021-07-22

    JAXB generation is also an issue for Java 17 compatibility.

    Related

    Commit: [42eb82]
    Feature Requests: #1583

     

    Related

    Commit: [42eb82]
    Feature Requests: #1583


    Last edit: Aaron Madlon-Kay 2021-07-22
  • Hiroshi Miura

    Hiroshi Miura - 2021-09-22

    OpenJDK 17 is out in 14, Sep., 2021 with color emoji support on macOS (and M1 mac).

    Now it is good chance to evaluate OmegaT on Java17.

     

    Related

    Bugs: #1043


    Last edit: Aaron Madlon-Kay 2021-10-08
    • Hiroshi Miura

      Hiroshi Miura - 2021-09-26

      Just try Java17 on Mint Linux (Ubuntu package).

      Version: OmegaT-5.6.0_0_b86905a12
      Platform: Linux 5.11.0-34-generic
      Java: 17 amd64
      Memory: 940MiB total / 693MiB free / 7852MiB max
      

      LGTM.

       
  • Hiroshi Miura

    Hiroshi Miura - 2022-09-17
    • Group: 5.4 --> 6.1
     
  • Hiroshi Miura

    Hiroshi Miura - 2023-06-18

    Commit 996253e7ce8a08abc16098054f80bbcdfee7b445 update Groovy 4.0.11

     
  • Hiroshi Miura

    Hiroshi Miura - 2023-09-28
    • status: open --> open-fixed
     
  • Hiroshi Miura

    Hiroshi Miura - 2023-09-28

    Now bundles JRE17 with OmegaT 6.1 Weekly.

     

Log in to post a comment.