-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix compatibility with Maven 3.9 #176
base: master
Are you sure you want to change the base?
Conversation
Since Maven 3.9, plexus-utils are not injected automatically anymore. Plugins are now required to declare plexus-utils as an explicit dependency if they need to use it. See https://maven.apache.org/docs/3.9.0/release-notes.html > Maven 2.x was auto-injecting an ancient version of plexus-utils dependency into the plugin classpath, and Maven 3.x continued doing this to preserve backward compatibility. Starting with Maven 3.9, it does not happen anymore. This change may lead to plugin breakage. The fix for affected plugin maintainers is to explicitly declare a dependency on plexus-utils. The workaround for affected plugin users is to add this dependency to plugin dependencies until issue is fixed by the affected plugin maintainer. See MNG-6965.
This plugin looks dead? No commits in 7 years? |
Seems pretty much dead yes. I did make fork of this for closure compiler that fixes bugs and updates closure compiler to the latest version. It doesn't do CSS since I like plugins to focus on one task, and YUI compressor also seems outdated. I'm not aware of any good, up-to-date CSS minifier for Java. There's libsass-maven-plugin, but libsass is deprecated. The frontend-maven-plugin works by running arbitrary npm or yarn tasks, but minifiers written in Java on nodeJS tend to be slow. We are currently using that plugin + webpack for our project, and it takes about 3/4 of the entire build time. And some of my colleagues running Windows tell me it's even slower there. Esbuild might also be worth a look. It's a bundler written in Go with a native binary that's much faster. It can be downloaded and executed via frontend-maven-plugin |
Also, as stated in the link, this particular issue can be worked around by adding a |
You can use this it does JS and CSS: It has a custom fork of the CSSCompressor from YUI that has tons of bugs fixed and modernized. |
In addition to @blutorange 's explanation above:
I'd like to share with you the specific workaround in the
|
This worked for me with Java 1.8 |
Since Maven 3.9, plexus-utils are not injected automatically anymore. Plugins are now required to declare plexus-utils as an explicit dependency if they need to use it. See https://maven.apache.org/docs/3.9.0/release-notes.html