Troubleshooting Vaadin Production Build: PermittedSubclasses Requires ASM9

Published on 2023.11.26

Introduction

When working with Vaadin, a popular framework for building web applications, you might encounter an issue during the production build process where you receive an error related to PermittedSubclasses requiring ASM9. This error can be frustrating, but with a few troubleshooting steps, you can resolve it and successfully build your Vaadin application.

What is PermittedSubclasses?

PermittedSubclasses is a class in Vaadin's flow-server module that is used to manage access between different parts of the framework. It is responsible for checking the validity of subclasses and ensuring they are permitted to access certain classes.

Understanding ASM9

ASM (a Java bytecode manipulation framework) is used by Vaadin to analyze and manipulate the bytecode of classes during the build process. ASM9 refers to a specific version of ASM that Vaadin relies on.

Troubleshooting Steps

1. Update your Vaadin version

Sometimes, the issue with PermittedSubclasses requiring ASM9 can be due to using an outdated version of Vaadin. Check the Vaadin website or your project's Maven/Gradle configuration to ensure you are using the latest stable version. Updating Vaadin may resolve the issue.

2. Update ASM version

If updating Vaadin does not resolve the issue, you can try updating the ASM version manually. In your project's dependencies, find the section related to ASM, and update the version to at least 9.0 or higher. This ensures compatibility with Vaadin's requirement for ASM9.

3. Check other dependencies

Sometimes, conflicts between dependencies can cause issues with the build process. Review the other dependencies in your project and ensure they are also compatible with the latest version of Vaadin and ASM9. Update any conflicting dependencies or reach out to the respective library's support community for assistance.

4. Clean and rebuild your project

After making any changes to your Vaadin version, ASM version, or other dependencies, it is essential to clean and rebuild your project. This ensures that any cached files or previous build artifacts are properly updated or removed. Run a clean build and check if the issue persists.

5. Consult the Vaadin community

If all else fails, it is always helpful to reach out to the Vaadin community for support. The Vaadin community forum and GitHub repository are excellent resources to seek assistance from experienced users and developers. Provide as much detail as possible about your issue, including your project configuration, error logs, and any troubleshooting steps you've already taken.

Conclusion

The PermittedSubclasses requires ASM9 error during the Vaadin production build process can be resolved by updating your Vaadin version, updating the ASM version, checking for conflicting dependencies, performing a clean build, and seeking help from the Vaadin community. By following these troubleshooting steps, you can successfully build your Vaadin application without any issues.