Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The commons-beanutils jar doesn't support Java modules:
[INFO] --- maven-compiler-plugin:3.11.0:compile (compile-java9) @ opencsv --- [WARNING] *************************************************************************************************************************************************** [WARNING] * Required filename-based automodules detected: [commons-beanutils-1.9.4.jar]. Please don't publish this project to a public artifact repository! * [WARNING] ***************************************************************************************************************************************************
At the very least the manifest could define an Automatic-Module-Name but preferably the project should be configured to build a multi-release jar that can support Java 8 while also compiling a module-info targeting a newer JDK such as 11.
here is an example maven profile that can be used to ensure that a module-info gets included when a project is built with JDK 9 or above:
<profile> <id>jpms</id> <activation> <jdk>[9,)</jdk> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>compile-java9</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> <configuration> <release>9</release> <compileSourceRoots> <compileSourceRoot>${project.basedir}/src/main/java9</compileSourceRoot> </compileSourceRoots> <multiReleaseOutput>true</multiReleaseOutput> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifestEntries> <Multi-Release>true</Multi-Release> </manifestEntries> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> </plugin> </plugins> </build> </profile>
Attachments
Attachments
Issue Links
- links to