question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Liquibase.jar does not have MANIFEST.MF as the 2nd entry in the archive

See original GitHub issue

Description

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:

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:closed
  • Created 2 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
kataggartcommented, Mar 24, 2022

@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!!

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found