codehaus-plexus/plexus-archiver

When creating a modular JAR add the module descriptors directly to the archive instead of storing them in a temp location first

plamentotev opened this issue · 0 comments

In order to update the module descriptors in a modular JAR file we're using the JDK jar tool but it requires files to be added to the JAR file in order the update to work. We know that a modular JAR file contains one or more module-info.class files (otherwise it is not a modular JAR) so we initially store them in temporary location and later use them to update the JAR file using the jar tool.

It turns out adding just empty directory to the JAR file works as well. So lets add all module-info.class files directly to the JAR file and after that update it using an empty temporary directory.

That would fix #97 as well.