I have a project called Animal and it have two submodules Animal-models and Animal-server. The Animal-models have a compile time dependency xyz and the Animal-server have dependency on Animal-models jar. And the Animal-server generates a war file for running on jetty server. Everything is working fine currently. With the new changes dependency xyz is removed from Animal-models project and all of a sudden the server jetty run is failing with following exception. How to find out which jar is causing the issue?
[ERROR] Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121:run (default-cli) on project ccd-event-service: Execution default-cli of goal org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121:run failed: A required class was missing while executing org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121:run: org/jboss/resteasy/plugins/guice/ModuleProcessor
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-maven-plugin/9.4.8.v20171121/jetty-maven-plugin-9.4.8.v20171121.jar
[ERROR] urls[1] = file:/Users/crazyCow/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
[ERROR] urls[2] = file:/Users/crazyCow/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar
[ERROR] urls[3] = file:/Users/crazyCow/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar
[ERROR] urls[4] = file:/Users/crazyCow/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar
[ERROR] urls[5] = file:/Users/crazyCow/.m2/repository/org/apache/maven/maven-builder-support/3.5.0/maven-builder-support-3.5.0.jar
[ERROR] urls[6] = file:/Users/crazyCow/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar
[ERROR] urls[7] = file:/Users/crazyCow/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.0.3/maven-resolver-util-1.0.3.jar
[ERROR] urls[8] = file:/Users/crazyCow/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
[ERROR] urls[9] = file:/Users/crazyCow/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
[ERROR] urls[10] = file:/Users/crazyCow/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar
[ERROR] urls[11] = file:/Users/crazyCow/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[ERROR] urls[12] = file:/Users/crazyCow/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
[ERROR] urls[13] = file:/Users/crazyCow/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
[ERROR] urls[14] = file:/Users/crazyCow/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
[ERROR] urls[15] = file:/Users/crazyCow/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[16] = file:/Users/crazyCow/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-tools-api/3.5/maven-plugin-tools-api-3.5.jar
[ERROR] urls[17] = file:/Users/crazyCow/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[ERROR] urls[18] = file:/Users/crazyCow/.m2/repository/org/apache/maven/shared/maven-artifact-transfer/0.9.1/maven-artifact-transfer-0.9.1.jar
[ERROR] urls[19] = file:/Users/crazyCow/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar
[ERROR] urls[20] = file:/Users/crazyCow/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[21] = file:/Users/crazyCow/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[22] = file:/Users/crazyCow/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
[ERROR] urls[23] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-util/9.4.8.v20171121/jetty-util-9.4.8.v20171121.jar
[ERROR] urls[24] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-webapp/9.4.8.v20171121/jetty-webapp-9.4.8.v20171121.jar
[ERROR] urls[25] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.8.v20171121/jetty-xml-9.4.8.v20171121.jar
[ERROR] urls[26] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-servlet/9.4.8.v20171121/jetty-servlet-9.4.8.v20171121.jar
[ERROR] urls[27] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-quickstart/9.4.8.v20171121/jetty-quickstart-9.4.8.v20171121.jar
[ERROR] urls[28] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-jaas/9.4.8.v20171121/jetty-jaas-9.4.8.v20171121.jar
[ERROR] urls[29] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-security/9.4.8.v20171121/jetty-security-9.4.8.v20171121.jar
[ERROR] urls[30] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-plus/9.4.8.v20171121/jetty-plus-9.4.8.v20171121.jar
[ERROR] urls[31] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-jndi/9.4.8.v20171121/jetty-jndi-9.4.8.v20171121.jar
[ERROR] urls[32] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-server/9.4.8.v20171121/jetty-server-9.4.8.v20171121.jar
[ERROR] urls[33] = file:/Users/crazyCow/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
[ERROR] urls[34] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-http/9.4.8.v20171121/jetty-http-9.4.8.v20171121.jar
[ERROR] urls[35] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-io/9.4.8.v20171121/jetty-io-9.4.8.v20171121.jar
[ERROR] urls[36] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-jmx/9.4.8.v20171121/jetty-jmx-9.4.8.v20171121.jar
[ERROR] urls[37] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-annotations/9.4.8.v20171121/jetty-annotations-9.4.8.v20171121.jar
[ERROR] urls[38] = file:/Users/crazyCow/.m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar
[ERROR] urls[39] = file:/Users/crazyCow/.m2/repository/org/ow2/asm/asm/6.0/asm-6.0.jar
[ERROR] urls[40] = file:/Users/crazyCow/.m2/repository/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.jar
[ERROR] urls[41] = file:/Users/crazyCow/.m2/repository/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar
[ERROR] urls[42] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-server-impl/9.4.8.v20171121/javax-websocket-server-impl-9.4.8.v20171121.jar
[ERROR] urls[43] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-client-impl/9.4.8.v20171121/javax-websocket-client-impl-9.4.8.v20171121.jar
[ERROR] urls[44] = file:/Users/crazyCow/.m2/repository/javax/websocket/javax.websocket-client-api/1.0/javax.websocket-client-api-1.0.jar
[ERROR] urls[45] = file:/Users/crazyCow/.m2/repository/javax/websocket/javax.websocket-api/1.0/javax.websocket-api-1.0.jar
[ERROR] urls[46] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-server/9.4.8.v20171121/websocket-server-9.4.8.v20171121.jar
[ERROR] urls[47] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.4.8.v20171121/websocket-common-9.4.8.v20171121.jar
[ERROR] urls[48] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.4.8.v20171121/websocket-api-9.4.8.v20171121.jar
[ERROR] urls[49] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.4.8.v20171121/websocket-client-9.4.8.v20171121.jar
[ERROR] urls[50] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-client/9.4.8.v20171121/jetty-client-9.4.8.v20171121.jar
[ERROR] urls[51] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-servlet/9.4.8.v20171121/websocket-servlet-9.4.8.v20171121.jar
[ERROR] urls[52] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/apache-jsp/9.4.8.v20171121/apache-jsp-9.4.8.v20171121.jar
[ERROR] urls[53] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/toolchain/jetty-schemas/3.1/jetty-schemas-3.1.jar
[ERROR] urls[54] = file:/Users/crazyCow/.m2/repository/org/mortbay/jasper/apache-jsp/8.5.23/apache-jsp-8.5.23.jar
[ERROR] urls[55] = file:/Users/crazyCow/.m2/repository/org/mortbay/jasper/apache-el/8.5.23/apache-el-8.5.23.jar
[ERROR] urls[56] = file:/Users/crazyCow/.m2/repository/org/eclipse/jdt/ecj/3.12.3/ecj-3.12.3.jar
[ERROR] urls[57] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/apache-jstl/9.4.8.v20171121/apache-jstl-9.4.8.v20171121.jar
[ERROR] urls[58] = file:/Users/crazyCow/.m2/repository/org/apache/taglibs/taglibs-standard-spec/1.2.5/taglibs-standard-spec-1.2.5.jar
[ERROR] urls[59] = file:/Users/crazyCow/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.5/taglibs-standard-impl-1.2.5.jar
[ERROR] urls[60] = file:/Users/crazyCow/.m2/repository/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : org.jboss.resteasy.plugins.guice.ModuleProcessor
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
Scope provided means that artifact is not packed within warfile, but is provided by container environment. Its typically used i.e. for servlet api.
As resteasy originates from jboss, they probably expect you to use their framework in jboss. Not in jetty. Hence default scope of the artifact seems to be "provided" - not packed in war.
But as you executed it in jetty,which is not jboss so that that it does not provide jboss jars and they are simply not there. So your "workaround" was The right thing to do.
Related
I have encountered problems while trying to run sonarqube on my application. When I execute the command it throws me an error which doesn't say much to me. Does anyone know where is the problem here?
The Error looks like this:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.257 s
[INFO] Finished at: 2022-12-07T15:10:39+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar (default-cli) on project TeamTracker: Execution default-cli of goal org.sonarsource.sca
nner.maven:sonar-maven-plugin:3.9.1.2184:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar: java.la
ng.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.codehaus.mojo:sonar-maven-plugin:3.9.1.2184
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/A113408609/.m2/repository/org/sonarsource/scanner/maven/sonar-maven-plugin/3.9.1.2184/sonar-maven-plugin-3.9.1.2184.jar
[ERROR] urls[1] = file:/C:/Users/A113408609/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
[ERROR] urls[2] = file:/C:/Users/A113408609/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[3] = file:/C:/Users/A113408609/.m2/repository/org/codehaus/plexus/plexus-utils/3.2.1/plexus-utils-3.2.1.jar
[ERROR] urls[4] = file:/C:/Users/A113408609/.m2/repository/org/sonarsource/scanner/api/sonar-scanner-api/2.16.2.588/sonar-scanner-api-2.16.2.588.jar
[ERROR] urls[5] = file:/C:/Users/A113408609/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security
.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module #26f204a4
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
'cmd' is not recognized as an internal or external command,
operable program or batch file.
This is a command I execute:
mvn sonar:sonar -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_AUTH_TOKEN -Dsonar.projectKey=$SONAR_PROJECT_KEY -Dsonar.projectName=$CI_PROJECT_PATH_SLUG
I have gone through documentations but I still really can't see what is the problem here :/
When I try to run mvn clean install the build is succesfull.
I am using Java 11, Maven 3.6.3 and Sonar Community Edition Version 8.9.10
my Software version
sonarqube 7.0
maven: 3.6.3
jdk: 17
sonar-maven-plugin: 3.8.0.2131
when I run
mvn --batch-mode clean verify
org.sonarsource.scanner.maven:sonar-maven-plugin:3.8.0.2131:sonar
-Dsonar.host.url=http://***
-Dsonar.login=***
-Dsonar.password=***
-Dsonar.issuesReport.console.enable=true
-Dsonar.gitlab.commit_sha=30ddd2484f6a487bcbea96775d497e0bffa87653
-Dsonar.gitlab.ref_name=***
-Dsonar.gitlab.project_id=***
-Dsonar.analysis.mode=preview
-Dsonar.preview.excludePlugins=issueassign,scmstats
-Dmaven.test.skip=true
and I've set this parameter export SONAR_SCANNER_OPTS="--illegal-access=permit"
but it error as follows
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.8.0.2131:sonar (default-cli) on project train-mc: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.8.0.2131:sonar failed: An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.8.0.2131:sonar: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.sonarsource.scanner.maven:sonar-maven-plugin:3.8.0.2131
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/root/.m2/repository/org/sonarsource/scanner/maven/sonar-maven-plugin/3.8.0.2131/sonar-maven-plugin-3.8.0.2131.jar
[ERROR] urls[1] = file:/root/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
[ERROR] urls[2] = file:/root/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[3] = file:/root/.m2/repository/org/codehaus/plexus/plexus-utils/3.2.1/plexus-utils-3.2.1.jar
[ERROR] urls[4] = file:/root/.m2/repository/org/sonarsource/scanner/api/sonar-scanner-api/2.16.0.226/sonar-scanner-api-2.16.0.226.jar
[ERROR] urls[5] = file:/root/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------: java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module #539a50ea
May need to upgrade sonarqube server's version
https://community.sonarsource.com/t/support-java-17-in-the-sonar-maven-plugin/51931
I am trying to do my own Jira plugin following the tutorial from Atlassian for hello world or importing an existing plugin from their git repo.
After cloning the git repo, I tried to do a Maven clean install on the project but I get a PluginContainerException with the following stacktrace.
Failed to execute goal com.atlassian.maven.plugins:maven-jira-plugin:4.2.0:copy-bundled-dependencies (default-copy-bundled-dependencies) on project new-listener-plugin: Execution default-copy-bundled-dependencies of goal com.atlassian.maven.plugins:maven-jira-plugin:4.2.0:copy-bundled-dependencies failed:
An API incompatibility was encountered while executing com.atlassian.maven.plugins:maven-jira-plugin:4.2.0:copy-bundled-dependencies: java.lang.NoSuchMethodError: org.apache.maven.execution.MavenSession.getRepositorySession()Lorg/sonatype/aether/RepositorySystemSession;
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>com.atlassian.maven.plugins:maven-jira-plugin:4.2.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/myname/.m2/repository/com/atlassian/maven/plugins/maven-jira-plugin/4.2.0/maven-jira-plugin-4.2.0.jar
[ERROR] urls[1] = file:/C:/Users/myname/.m2/repository/com/atlassian/maven/archetypes/jira-plugin-archetype/4.2.0/jira-plugin-archetype-4.2.0.jar
[ERROR] urls[2] = file:/C:/Users/myname/.m2/repository/com/atlassian/maven/plugins/maven-amps-plugin/4.2.0/maven-amps-plugin-4.2.0.jar
[ERROR] urls[3] = file:/C:/Users/myname/.m2/repository/com/atlassian/core/atlassian-core/4.0/atlassian-core-4.0.jar
[ERROR] urls[4] = file:/C:/Users/myname/.m2/repository/com/atlassian/profiling/atlassian-profiling/1.3/atlassian-profiling-1.3.jar
[ERROR] urls[5] = file:/C:/Users/myname/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar
[ERROR] urls[6] = file:/C:/Users/myname/.m2/repository/p6spy/p6spy/1.3/p6spy-1.3.jar
[ERROR] urls[7] = file:/C:/Users/myname/.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1.jar
[ERROR] urls[8] = file:/C:/Users/myname/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar
[ERROR] urls[9] = file:/C:/Users/myname/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
[ERROR] urls[10] = file:/C:/Users/myname/.m2/repository/osuser/osuser/1.0-dev-log4j-1.4jdk-7Dec05/osuser-1.0-dev-log4j-1.4jdk-7Dec05.jar
[ERROR] urls[11] = file:/C:/Users/myname/.m2/repository/opensymphony/propertyset/1.3-21Nov03/propertyset-1.3-21Nov03.jar
[ERROR] urls[12] = file:/C:/Users/myname/.m2/repository/opensymphony/sitemesh/2.3/sitemesh-2.3.jar
[ERROR] urls[13] = file:/C:/Users/myname/.m2/repository/dom4j/dom4j/1.4/dom4j-1.4.jar
[ERROR] urls[14] = file:/C:/Users/myname/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
[ERROR] urls[15] = file:/C:/Users/myname/.m2/repository/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS.jar
[ERROR] urls[16] = file:/C:/Users/myname/.m2/repository/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS.jar
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
This is caused by incompatible Maven and maven-amps-plugin versions. This project currently referencing maven-amps-plugin version 4.2.0, and that works only with Maven2. Since you are likely using Maven 3, you need to:
change the maven-amps-plugin dependency in your pom to something much newer (like 5.1.18)
optionally you can download an older Maven version (Maven2) and use that if you do not want to touch this project.
I just migrated from 2.3 to 2.4. The application itself seems to be working, but none of the tests will run. They all fail with the following error:
[error] Test models.TestCountry.createTheater failed: com.google.inject.ProvisionException: Unable to provision, see the following errors:
[error]
[error] 1) Error injecting constructor, java.lang.IllegalStateException: Got deeper than 5 levels while searching /home/jlei/workspace/ebor-play/target/web/classes/main/META-INF/resources/webjars
[error] at controllers.WebJarAssets.<init>(WebJarAssets.scala:21)
[error] at controllers.WebJarAssets.class(WebJarAssets.scala:21)
[error] while locating controllers.WebJarAssets
[error] for parameter 18 at router.Routes.<init>(Routes.scala:96)
[error] while locating router.Routes
[error] while locating play.api.test.FakeRouterProvider
[error] while locating play.api.routing.Router
[error]
[error] 1 error, took 2.828 sec
[error] at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)
[error] at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
[error] at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:321)
[error] at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:316)
[error] at play.api.Application$class.routes(Application.scala:111)
[error] at play.api.test.FakeApplication.routes(Fakes.scala:197)
[error] at play.api.Play$.start(Play.scala:89)
[error] at play.api.Play.start(Play.scala)
[error] at play.test.Helpers.start(Helpers.java:450)
[error] at play.test.WithApplication.startPlay(WithApplication.java:44)
[error] ...
[error] Caused by: java.lang.IllegalStateException: Got deeper than 5 levels while searching /home/jlei/workspace/ebor-play/target/web/classes/main/META-INF/resources/webjars
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:43)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:47)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:47)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:47)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:47)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:47)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.aggregateChildren(FileUrlProtocolHandler.java:47)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.listFiles(FileUrlProtocolHandler.java:36)
[error] at org.webjars.urlprotocols.FileUrlProtocolHandler.getAssetPaths(FileUrlProtocolHandler.java:25)
[error] at org.webjars.WebJarAssetLocator.getAssetPaths(WebJarAssetLocator.java:89)
[error] at org.webjars.WebJarAssetLocator.getFullPathIndex(WebJarAssetLocator.java:119)
[error] at controllers.WebJarAssets.<init>(WebJarAssets.scala:29)
[error] at controllers.WebJarAssets$$FastClassByGuice$$db4380e1.newInstance(<generated>)
[error] at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
[error] at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
[error] at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
[error] at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
[error] at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
[error] at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
[error] at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
[error] at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
[error] at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
[error] at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
[error] at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
[error] at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
[error] at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:104)
[error] at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
[error] at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
[error] at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
[error] at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
[error] at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
[error] at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
[error] at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:321)
[error] at play.api.inject.RoutesProvider$$anonfun$2.apply(BuiltinModule.scala:67)
[error] at play.api.inject.RoutesProvider$$anonfun$2.apply(BuiltinModule.scala:67)
[error] at scala.Option.fold(Option.scala:158)
[error] at play.api.inject.RoutesProvider.get$lzycompute(BuiltinModule.scala:67)
[error] at play.api.inject.RoutesProvider.get(BuiltinModule.scala:63)
[error] at play.api.test.FakeRouterProvider.get$lzycompute(Fakes.scala:259)
[error] at play.api.test.FakeRouterProvider.get(Fakes.scala:259)
[error] at play.api.test.FakeRouterProvider.get(Fakes.scala:258)
[error] at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
[error] at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
[error] at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
[error] at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
[error] at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
[error] at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
[error] at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
[error] ... 44 more
[error] Failed: Total 1, Failed 1, Errors 0, Passed 0
I am using the InjectedRoutesGenerator and version 2.4.0-M3-1 of webjars-play. Let me know if there are any other details that might help!
Does anybody have any idea what might be going on?
EDIT:
Dug this up: https://github.com/sbt/sbt-web/issues/104
So seems to be a known issue. Guess I'll be trying to find a creative workaround in the meantime...
The proximate cause of the failure is that there are more than 5 levels of subdirectories under:
/home/jlei/workspace/ebor-play/target/web/classes/main/META-INF/resources/webjars
See this source file for the source of the error.
This was a problem in sbt-web. They've increased the limit: https://github.com/sbt/sbt-web/issues/104
I've solved this issue in tests by mocking up the WebJarAssets class. Basic fake application creation code in the test class that extends OneAppPerSuite or OneAppPerTest can look like the following:
implicit override lazy val app: Application = new GuiceApplicationBuilder()
.in(Environment(new File("."), this.getClass.getClassLoader, Mode.Test))
.bindings(bind[WebJarAssets].toInstance(mock[WebJarAssets]))
.build
Here I also mixed in the org.scalatest.mock.MockitoSugar trait in order to use mock method.
I'm not sure it is the case for functional tests where you need fully constructed application where WebJarAssets can be used.
I know this is due to the fact that one or more jar files are corrupted in my ~/.m2/ repository but i cant actually figure out which jar file(s) has been corrupted or which jars, I am required to delete and re-download.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:2.3.2:compile (default-compile) on project CRUDWebAppMavenized: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main : Unsupported major.minor version 52.0
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/hp/.m2/repository/org/apache/maven/plugins/maven- compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
[ERROR] urls[1] = file:/C:/Users/hp/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
[ERROR] urls[2] = file:/C:/Users/hp/.m2/repository/org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.jar
[ERROR] urls[3] = file:/C:/Users/hp/.m2/repository/org/codehaus/plexus/plexus-compiler- manager/1.8.1/plexus-compiler-manager-1.8.1.jar
[ERROR] urls[4] = file:/C:/Users/hp/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]