Common Questions • Getting Help • Troubleshooting
Yes – Manifold fully supports all LTS versions since JDK 8, including 8, 11, 17, and 21. Each release keeps pace with the JDK, targeting the latest version–LTS or not–and is on track for JDK 25 and beyond.
Highly improbable. Manifold consistently adapts ahead of JDK releases, having tracked 14 major Java versions since its debut–always well ahead of Oracle’s official releases.
This kind of access isn’t unique to Manifold–many essential tools and frameworks, including IntelliJ and Spring, rely on it as well. It’s therefore extremely unlikely that Oracle would introduce drastic changes that would actively block such widespread usage.
No, it doesn’t. While Kotlin offers some features like properties, it lacks most of what Manifold provides. For example,
Kotlin doesn’t have anything equivalent to Manifold’s core feature: the type manifold, a static metaprogramming API which
powers manifold-sql
, manifold-json
, manifold-graphql
, manifold-xml
, and more.
Additionally, many of Manifold’s unique extensions to Java are not present in Kotlin, including:
Importantly, Kotlin is a separate language, while Manifold is a compiler plugin that enhances Java. You can add Manifold to any Java project and pick the features you want, without leaving the Java ecosystem.
Yes, Manifold is open source and available on GitHub, free for use via Apache License 2.0.
The Manifold plugins for IntelliJ and Android Studio are also open source and free to use.
Yes. Please refer to the Maven and Gradle sections of the Setup documentation for detailed instructions based on the subproject(s) you’re using.
Yes. The Manifold plugin provides comprehensive support for IntelliJ IDEA and Android Studio.
To download or update the plugin, go directly through the IDE:
Settings ➜ Plugins ➜ Marketplace ➜ search: Manifold
manifold-sql
, manifold-json
, etc.?Add the corresponding manifold-*
dependency (or dependencies) to your project, and include the -Xplugin:Manifold
compiler argument. Setup can vary slightly depending on whether
you’re using Java 8 or Java 9+, so refer to the Setup section in the subproject’s README for full details.
Here are some companies currently using Manifold:
Discussions
Join our Discord server to start a discussion, ask questions, provide feedback, and more.
Report a Bug
The Manifold project uses GitHub Issues to track bugs, features, and other requests. If you discover a bug, have a feature
request, or an idea, go here and let it be known. Expect a response within 24 hours.
Private Email
If your question or issue is more urgent or confidential, don’t hesitate to email us at info@manifold.systems.
This usually happens when your project dependencies are out of sync with the latest version of Manifold. When you load your project, the plugin will display a warning message indicating which version of Manifold you need to update to.
You can always find the latest releases here.
Important: If you’re using Maven or Gradle, be sure to update your build files. Do not modify module dependencies directly in IntelliJ’s UI. For detailed setup instructions, refer to the Maven and Gradle sections in the Setup documentation for the specific subprojects you are using.
If you’re still having trouble, feel free to reach out–there’s a good chance someone else has encountered the same issue, and help will be on the way!
The module containing your extension methods must declare that it should be processed for extension methods. This is done
using the Contains-Sources
JAR manifest entry. For example, with Maven:
<manifestEntries>
<!-- Class files as source must be available for extension method classes -->
<Contains-Sources>java,class</Contains-Sources>
</manifestEntries>
For more details on creating extension libraries, refer to the documentation.
This issue typically happens when IntelliJ’s cache is out of sync with the extensions. If IntelliJ flags legal usage of a Manifold feature as an error, you can often fix it by making a small change at the use site and then undoing it.
If that doesn’t resolve the problem, try closing and reloading the project. If the issue persists, please report it as an issue on Manifold’s GitHub repo.