apache / apache/maven-jmod-plugin

Plugin is not compatible with JDKs (like temurin) which support changes of JEP 493 (do not include jmods folder)

Open
#84 12 comments 0 reactions 0 assignees View on GitHub
bug priority:blocker
Dominant language
Java
Stars
16
Forks
11
Avg merge
7h 10m
Merged PRs (30d)
1

Description

### Affected version

3.0.0-SNAPSHOT (current master)

### Bug description
Due the changes of JEP 493 (Java 24) some JDK, for example Temurin, do not ship a JMOD folder anymore. The plugin relies on this folder.

---------------------
Old description

All IT are failing on master

(win 11, Java 25, with Admin rights)

```
D:\Github\Maven\maven-jmod-plugin>mvn -V
Apache Maven 4.0.0-rc-5 (fb3ecaef88106acb40467a450248dfdbd75f3b35)
Maven home: C:\apache-maven-4.0.0-rc-5
Java version: 25, vendor: Eclipse Adoptium, runtime: C:\JDK\Java25
Default locale: de_DE, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "winnt"
```

```
[ERROR]
[INFO] -------------------------------------------------
[INFO] Build Summary:
[INFO] Passed: 0, Failed: 18, Errors: 0, Skipped: 0
[INFO] -------------------------------------------------
[ERROR] The following builds failed:
[ERROR] * base-config-cmds\pom.xml
[ERROR] * base-config-headerfiles\pom.xml
[ERROR] * base-config-legalnotices\pom.xml
[ERROR] * base-config-libs\pom.xml
[ERROR] * base-config\pom.xml
[ERROR] * base-it\pom.xml
[ERROR] * describe-base-config\pom.xml
[ERROR] * describe-plain\pom.xml
[ERROR] * list-base-config\pom.xml
[ERROR] * list-plain\pom.xml
[ERROR] * mjmod-20-set-main-class\pom.xml
[ERROR] * mjmod-23-path-must-be-dir\pom.xml
[ERROR] * mjmod-8-generate-jmod-in-other-project\pom.xml
[ERROR] * non-default-config-cmds\pom.xml
[ERROR] * non-default-config-headerfiles\pom.xml
[ERROR] * non-default-config-legalnotices\pom.xml
[ERROR] * non-default-config-libs\pom.xml
[ERROR] * non-default-config\pom.xml
```

Most seen errors

```
assert artifact.isFile()
| |
| false

assert listLines == resourceNames
| | |
[] | ['conf/config.test', 'classes/module-info.class', 'classes/myproject/HelloWorld.class']
false

assert expectedDescriptorLines == describeLines
| | |
| | []
| false
['org.apache.maven.plugins.jmod.it.first@99.0', 'exports myproject', 'requires java.base']

[INFO] java.lang.AssertionError: target file is missing or a directory.. Expression: (artifact.exists() && artifact.isFile())
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running the integration tests listed in the issue and inspect where the plugin assumes that the JDK contains a jmods folder. Compare the behavior with a Temurin JDK affected by JEP 493. Done means the reported integration tests pass and the missing-artifact, resource-list, and descriptor assertions succeed.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.