Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-7412

Unable to build from sources when localRepository declared in settings.xml

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 31.0.0.Beta1
    • Build System
    • None

      When trying to use settings.xml which declares <localRepository>/my/path</localRepository> element, the build will fail with:

      $ mvn --settings my-settings.xml clean install -DskipTests -e
      
      ...
      
      [INFO] --- wildfly:5.1.5.Final:provision (server-provisioning) @ wildfly-core-testsuite-standalone ---
      [INFO] Provisioning server in /tmp/wildfly-core/testsuite/standalone/target/wildfly-core
      [INFO] Resolving feature-packs
      [INFO] Installing packages
      [INFO] Resolving artifacts
      [INFO] Generating configurations
      [INFO] Delayed generation, waiting...
      SLF4J(W): No SLF4J providers were found.
      SLF4J(W): Defaulting to no-operation (NOP) logger implementation
      SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
      Forked embedded process has failed with the following error:
      org.wildfly.galleon.plugin.server.ConfigGeneratorException: Failed to start embedded server
      	at org.wildfly.galleon.plugin.config.generator.BaseConfigGenerator.doStartServer(BaseConfigGenerator.java:219)
      	at org.wildfly.galleon.plugin.config.generator.ForkedConfigGenerator.executeScript(ForkedConfigGenerator.java:76)
      	at org.wildfly.galleon.plugin.config.generator.ForkedConfigGenerator.forkedForEmbedded(ForkedConfigGenerator.java:46)
      	at org.wildfly.galleon.plugin.server.ForkedProcessRunner.main(ForkedProcessRunner.java:56)
      Caused by: org.wildfly.galleon.plugin.server.ConfigGeneratorException: java.lang.reflect.InvocationTargetException
      	at org.wildfly.galleon.plugin.config.generator.ServerBridge.embed_createStandalone(ServerBridge.java:236)
      	at org.wildfly.galleon.plugin.config.generator.BaseConfigGenerator.doStartServer(BaseConfigGenerator.java:215)
      	... 3 more
      Caused by: java.lang.reflect.InvocationTargetException
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.wildfly.galleon.plugin.config.generator.ServerBridge.embed_createStandalone(ServerBridge.java:234)
      	... 4 more
      Caused by: java.lang.RuntimeException: WFLYEMB0014: Cannot load module org.wildfly.embedded from: local module loader @729d991e (finder: local module finder @31fa1761 (roots: /tmp/wildfly-core/testsuite/standalone/target/wildfly-core/modules,/tmp/wildfly-core/testsuite/standalone/target/wildfly-core/modules/system/layers/base))
      	at org.wildfly.core.embedded.EmbeddedProcessFactory.createStandaloneServer(EmbeddedProcessFactory.java:143)
      	at org.wildfly.core.embedded.EmbeddedProcessFactory.createStandaloneServer(EmbeddedProcessFactory.java:91)
      	... 9 more
      Caused by: org.jboss.modules.ModuleLoadException: Error loading module from /tmp/wildfly-core/testsuite/standalone/target/wildfly-core/modules/system/layers/base/org/jboss/as/host-controller/main/module.xml
      	at org.jboss.modules.xml.ModuleXmlParser.parseModuleXml(ModuleXmlParser.java:336)
      	at org.jboss.modules.xml.ModuleXmlParser.parseModuleXml(ModuleXmlParser.java:292)
      	at org.jboss.modules.xml.ModuleXmlParser.parseModuleXml(ModuleXmlParser.java:253)
      	at org.jboss.modules.LocalModuleFinder.parseModuleXmlFile(LocalModuleFinder.java:250)
      	at org.jboss.modules.LocalModuleFinder.lambda$findModule$1(LocalModuleFinder.java:195)
      	at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
      	at org.jboss.modules.LocalModuleFinder.findModule(LocalModuleFinder.java:195)
      	at org.jboss.modules.ModuleLoader.findModule0(ModuleLoader.java:700)
      	at org.jboss.modules.ModuleLoader.findModule(ModuleLoader.java:693)
      	at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:503)
      	at org.jboss.modules.DelegatingModuleLoader.preloadModule(DelegatingModuleLoader.java:57)
      	at org.jboss.modules.Module.addPaths(Module.java:1290)
      	at org.jboss.modules.Module.link(Module.java:1660)
      	at org.jboss.modules.Module.relinkIfNecessary(Module.java:1688)
      	at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:303)
      	at org.wildfly.core.embedded.EmbeddedProcessFactory.createStandaloneServer(EmbeddedProcessFactory.java:141)
      	... 10 more
      Caused by: org.jboss.modules.xml.XmlPullParserException: Failed to resolve artifact 'org.wildfly.core:wildfly-host-controller:31.0.0.Beta2-SNAPSHOT' (position: END_TAG seen ..."org.wildfly.core:wildfly-host-controller:31.0.0.Beta2-SNAPSHOT"/>... @15:90) 
      	at org.jboss.modules.xml.ModuleXmlParser.parseArtifact(ModuleXmlParser.java:1049)
      	at org.jboss.modules.xml.ModuleXmlParser.parseResources(ModuleXmlParser.java:936)
      	at org.jboss.modules.xml.ModuleXmlParser.parseModuleContents(ModuleXmlParser.java:696)
      	at org.jboss.modules.xml.ModuleXmlParser.parseDocument(ModuleXmlParser.java:468)
      	at org.jboss.modules.xml.ModuleXmlParser.parseModuleXml(ModuleXmlParser.java:334)
      	... 25 more
      [INFO] Overall Galleon provisioning took 3.840 seconds
      
      

      So something with jboss-modules and thin server (modules loaded from maven repo)

      There is a workaround, whenever settings.xml has a <localRepository>, the same path need to be provided also to mvn command via -Dmaven.repo.local:

      $ cat my-settings.xml | head -5
      <?xml version="1.0" encoding="UTF-8"?>
      <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <localRepository>/tmp/localrepo</localRepository>
      
      $ mvn --settings my-settings.xml clean install -DskipTests -e -Dmaven.repo.local=/tmp/localrepo
      

      But this feels like a bug, galleon / jboss-modules should be able to work with standard maven feature like localRepository defined in settings.xml

              jdenise@redhat.com Jean Francois Denise
              jbliznak@redhat.com Jan Blizňák
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: