Liquibase.jar does not have MANIFEST.MF as the 2nd entry in the archive
See original GitHub issueDescription
Some tools expect the MANIFEST.MF file to be physically the 2nd entry in the jar archive. It’s java.util.jar.JarInputStream that requires this: See https://bugs.openjdk.java.net/browse/JDK-8215788
Because we have it in the wrong spot, many tools will not correctly use the liquibase.jar file.
See also:
- Originally reported in a comment in #2361
- https://github.com/Zlika/reproducible-build-maven-plugin/issues/16 as a similar bug report
- https://stackoverflow.com/questions/4727637/how-do-i-verify-the-order-of-manifest-mf-within-jar
Repro Steps
└➤ jar -tf bundles/osgi/modules/liquibase-core-4.8.0.jar | grep META-INF
META-INF/
META-INF/services/
META-INF/LICENSE.txt
META-INF/NOTICE.txt
META-INF/NOTICE
META-INF/services/liquibase.database.DatabaseConnection
META-INF/services/liquibase.precondition.Precondition
META-INF/services/liquibase.serializer.SnapshotSerializer
META-INF/services/liquibase.configuration.AutoloadedConfigurations
META-INF/services/liquibase.diff.DiffGenerator
META-INF/services/liquibase.lockservice.LockService
META-INF/services/liquibase.license.LicenseService
META-INF/services/liquibase.changelog.ChangeLogHistoryService
META-INF/services/liquibase.datatype.LiquibaseDataType
META-INF/services/liquibase.configuration.ConfigurationValueProvider
META-INF/services/liquibase.logging.LogService
META-INF/services/liquibase.diff.output.changelog.ChangeGenerator
META-INF/services/liquibase.snapshot.SnapshotGenerator
META-INF/services/liquibase.executor.Executor
META-INF/services/liquibase.parser.ChangeLogParser
META-INF/services/liquibase.structure.DatabaseObject
META-INF/services/liquibase.servicelocator.ServiceLocator
META-INF/services/liquibase.serializer.ChangeLogSerializer
META-INF/services/com.datical.liquibase.ext.rules.core.AbstractLiquibaseRule
META-INF/services/liquibase.diff.compare.DatabaseObjectComparator
META-INF/services/liquibase.parser.SnapshotParser
META-INF/services/liquibase.command.LiquibaseCommand
META-INF/services/liquibase.parser.NamespaceDetails
META-INF/services/liquibase.hub.HubService
META-INF/services/liquibase.database.Database
META-INF/services/liquibase.command.CommandStep
META-INF/services/liquibase.change.Change
META-INF/services/liquibase.sqlgenerator.SqlGenerator
META-INF/maven/org.liquibase/liquibase-core/pom.xml
META-INF/MANIFEST.MF
should start with:
META-INF/
META-INF/MANIFEST.MF
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
META-INF\MANIFEST.MF build problem - Liquibase Forum
I've imported the project from liquibase-core\pom.xml into IntelliJ but when I run the maven package task, the META-INF\MANIFEST.MF does not ...
Read more >Can't execute jar- file: "no main manifest attribute"
The -jar option only works if the JAR file is an executable JAR file, which means it must have a manifest file with...
Read more >Unable to execute jar- file no main manifest attribute - Edureka
The -jar option only works if the JAR file is an executable JAR file, which means it must have a manifest file with...
Read more >[Solved] No main manifest attribute, in jar Maven and SpringBoot
When we are executing the JAR file, we need to point to a class with a main method ( public static void main(String[]...
Read more >Spring Boot Reference Documentation
Most Spring Boot applications need very little Spring configuration. You can use Spring Boot to create Java applications that can be started by...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@driessamyn just in case you don’t see my comment on https://github.com/liquibase/liquibase/issues/2361 we are fixing this here https://github.com/liquibase/liquibase/issues/2672#issuecomment-1077825090 and are actually looking for user verification on the new format if you have a moment that issue has a copy of the new MANIFEST.MF. We’d love for you and others who were impacted by this to take a look and verify it works before we do the full new release. Thanks!!
@driessamyn v4.9.1 is out https://github.com/liquibase/liquibase/releases/tag/v4.9.1