I have a maven project where I use less to define the styling. I have not updated my tooling in a while, and while setting up a new laptop I am realizing the plugin I used to use for compiling less is not compatible with the newer versions of maven. I have been using the Gabrysbiz plugin;
<plugin>
<!-- http://www.gabrys.biz/projects/lesscss-maven-plugin/1.1/index.html -->
<groupId>biz.gabrys.maven.plugins</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.2.1</version>
.
.
.
</plugin>
I get a missing class when I try and build using maven;
[ERROR] Failed to execute goal biz.gabrys.maven.plugins:lesscss-maven-plugin:1.2.1:compile (default) on project services: Execution default of goal biz.gabrys.maven.plugins:lesscss-maven-plugin:1.2.1:compile failed: A required class was missing while executing biz.gabrys.maven.plugins:lesscss-maven-plugin:1.2.1:compile: org/codehaus/plexus/util/DirectoryScanner [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>biz.gabrys.maven.plugins:lesscss-maven-plugin:1.2.1 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR] urls[0] = file:/Users/sstanley/.m2/repository/biz/gabrys/maven/plugins/lesscss-maven-plugin/1.2.1/lesscss-maven-plugin-1.2.1.jar [ERROR] urls[1] = file:/Users/sstanley/.m2/repository/biz/gabrys/lesscss/compiler/1.2.2/compiler-1.2.2.jar [ERROR] urls[2] = file:/Users/sstanley/.m2/repository/org/mozilla/rhino/1.7R5/rhino-1.7R5.jar [ERROR] urls[3] = file:/Users/sstanley/.m2/repository/biz/gabrys/lesscss/extended-compiler/2.1.0/extended-compiler-2.1.0.jar [ERROR] urls[4] = file:/Users/sstanley/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar [ERROR] urls[5] = file:/Users/sstanley/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar [ERROR] urls[6] = file:/Users/sstanley/.m2/repository/commons-net/commons-net/3.4/commons-net-3.4.jar [ERROR] urls[7] = file:/Users/sstanley/.m2/repository/biz/gabrys/maven/plugin-utils/1.4.0/plugin-utils-1.4.0.jar [ERROR] Number of foreign imports: 1 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
With my debugging, it seems this plugin was counting on plexus-utils being provided by maven. However the newer versions of maven do not seem to include this. Unfortunately when I hunt up the Github repo it is marked as archived three years ago.
I've tried to find other plugins and this is what I have found so far;
- marceloverdijk/lesscss-maven-plugin : Github repo archived 5 years ago
- Atlassian plugin : This has a recent version published last year, however I have yet to find documentation on it anywhere yet.
- Javalite plugin : This has a recent version published last year. I can find this documentation for it.
Before I try and start digging in too deep with any of these, I thought I would check and see if there is something else I am missing. I can't find anything on the LessCSS website which I was surprised by.
Is there a lesscss maven plugin that is recommended? I am sure there are many opinions on this. Would love to hear them before I invest the time to migrate to something new.