You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2023/10/19 17:47:00 UTC
[jira] [Comment Edited] (BEANUTILS-560) Add support for JPMS
[ https://issues.apache.org/jira/browse/BEANUTILS-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17777411#comment-17777411 ]
Gary D. Gregory edited comment on BEANUTILS-560 at 10/19/23 5:46 PM:
---------------------------------------------------------------------
One item is that the types postfixed with "2" need to be merged into their super types.
PRs welcome.
Also the build needs to pass on Java 21.
was (Author: garydgregory):
One item is that the types postfixed with "2" need to be merged into their super types.
PRs welcome.
Also the build needs to run on Java 21.
> Add support for JPMS
> --------------------
>
> Key: BEANUTILS-560
> URL: https://issues.apache.org/jira/browse/BEANUTILS-560
> Project: Commons BeanUtils
> Issue Type: Bug
> Reporter: Samael Bate
> Priority: Major
>
> The commons-beanutils jar doesn't support Java modules:
> {code:java}
> [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] ***************************************************************************************************************************************************{code}
> 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:
> {code:java}
> <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> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)