Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When building guacamole-client against a newer version of Maven (3.9.x), the guacamole-common-js portion of the build fails with the following error:
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 26.466 s [INFO] Finished at: 2023-05-13T16:42:59Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.github.buckelieg:minify-maven-plugin:2.0.1:minify (default-minify) on project guacamole-common-js: Execution default-minify of goal com.github.buckelieg:minify-maven-plugin:2.0.1:minify failed: A required class was missing while executing com.github.buckelieg:minify-maven-plugin:2.0.1:minify: org/codehaus/plexus/util/DirectoryScanner [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>com.github.buckelieg:minify-maven-plugin:2.0.1 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR] urls[0] = file:/root/.m2/repository/com/github/buckelieg/minify-maven-plugin/2.0.1/minify-maven-plugin-2.0.1.jar [ERROR] urls[1] = file:/root/.m2/repository/com/yahoo/platform/yui/yuicompressor/2.4.8/yuicompressor-2.4.8.jar [ERROR] urls[2] = file:/root/.m2/repository/rhino/js/1.7R2/js-1.7R2.jar [ERROR] urls[3] = file:/root/.m2/repository/com/google/javascript/closure-compiler/v20190929/closure-compiler-v20190929.jar [ERROR] urls[4] = file:/root/.m2/repository/com/google/javascript/closure-compiler-externs/v20190929/closure-compiler-externs-v20190929.jar [ERROR] urls[5] = file:/root/.m2/repository/args4j/args4j/2.0.26/args4j-2.0.26.jar [ERROR] urls[6] = file:/root/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar [ERROR] urls[7] = file:/root/.m2/repository/com/google/guava/guava/25.1-jre/guava-25.1-jre.jar [ERROR] urls[8] = file:/root/.m2/repository/org/checkerframework/checker-qual/2.0.0/checker-qual-2.0.0.jar [ERROR] urls[9] = file:/root/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar [ERROR] urls[10] = file:/root/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar [ERROR] urls[11] = file:/root/.m2/repository/com/google/protobuf/protobuf-java/3.0.2/protobuf-java-3.0.2.jar [ERROR] urls[12] = file:/root/.m2/repository/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.jar [ERROR] urls[13] = file:/root/.m2/repository/com/google/jsinterop/jsinterop-annotations/1.0.0/jsinterop-annotations-1.0.0.jar [ERROR] urls[14] = file:/root/.m2/repository/com/google/re2j/re2j/1.3/re2j-1.3.jar [ERROR] urls[15] = file:/root/.m2/repository/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar [ERROR] Number of foreign imports: 1 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] [ERROR] [ERROR] ----------------------------------------------------- [ERROR] : org.codehaus.plexus.util.DirectoryScanner [ERROR] -> [Help 1] ...
This is apparently due to Maven no longer automatically injecting plexus-utils. That behavior is considered legacy after Maven2, but the minify-maven-plugin used by guacamole-common-js has not been updated to take this into account.
See:
- https://ci-builds.apache.org/job/Guacamole/job/guacamole-client-master/235/
MNG-7744- "Maven 3.9.0 and 3.9.1 break compatibility with Apache Mina SSHD build"MNG-7355- "Error with minify"