Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
444 views
in Technique[技术] by (71.8m points)

WildFly 10 - Caused by: java.lang.NoClassDefFoundError: Failed to link org/apache/maven/settings/building/SettingsSource

Been trying to move an application up to WF 10.0 Adding some new maven dependencies.

I have been adding jars to the modules dir and updating the modules.xml file. This has worked for everything so far, then I hit this. Ideas?

The Error

Caused by: java.lang.NoClassDefFoundError: Failed to link org/apache/maven/settings/building/SettingsSource (Module "org.apache.maven" from local module loader @3f49dace (finder: local module finder @1e397ed7 (roots: /opt/ngp/wildfly-18.0.1.Final/modules,/opt/ngp/wildfly-18.0.1.Final/modules/system/layers/brms,/opt/ngp/wildfly-18.0.1.Final/modules/system/layers/soa,/opt/ngp/wildfly-18.0.1.Final/modules/system/layers/base))): org/apache/maven/building/Source"

My modules

My modules.xml file in /opt/ngp/wildfly-18.0.1.Final/modules/system/layers/brms/org/apache/maven/main

ROOT:1124 - main> cat module.xml 
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.apache.maven" slot="main">
  <resources>
    <resource-root path="maven-model-3.6.3.jar"/>
    <resource-root path="maven-model-builder-3.6.3.jar"/>
    <resource-root path="maven-repository-metadata-3.6.3.jar"/>
    <resource-root path="maven-resolver-api-1.6.1.jar"/>
    <resource-root path="maven-resolver-impl-1.6.1.jar"/>
    <resource-root path="maven-resolver-provider-3.6.3.jar"/>
    <resource-root path="maven-resolver-spi-1.6.1.jar"/>
    <resource-root path="maven-resolver-util-1.6.1.jar"/>
    <resource-root path="maven-settings-builder-3.6.3.jar"/>
  </resources>
  
  <dependencies>
    <module name="javax.api" export="false" slot="main" services="import" optional="false"/>
    <module name="org.apache.maven.wagon" export="false" slot="main" services="import" optional="false"/>
    <module name="org.codehouse.plexus" export="false" slot="main" services="import" optional="false"/>
    <module name="org.sonatype.aether" export="false" slot="main" services="import" optional="false"/>
    <module name="org.sonatype.plexus" export="false" slot="main" services="import" optional="false"/>
    <module name="org.sonatype.sisu" export="false" slot="main" services="import" optional="false"/>
  </dependencies>
</module>

The class is there

jar tf maven-settings-builder-3.6.3.jar | grep SettingsSource org/apache/maven/settings/building/FileSettingsSource.class > org/apache/maven/settings/building/SettingsSource.class org/apache/maven/settings/building/StringSettingsSource.class org/apache/maven/settings/building/UrlSettingsSource.class

question from:https://stackoverflow.com/questions/65928960/wildfly-10-caused-by-java-lang-noclassdeffounderror-failed-to-link-org-apach

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

So it was a versioning thing. While the class was there, the signature did not match. Would have been nice if the error message would have been a bit more specific.

maven-aether-provider-3.2.5.jar maven-artifact-3.2.5.jar maven-compat-3.2.5.jar maven-core-3.2.5.jar maven-model-3.2.5.jar maven-model-builder-3.2.5.jar maven-plugin-api-3.2.5.jar maven-repository-metadata-3.2.5.jar maven-settings-3.2.5.jar maven-settings-builder-3.2.5.jar

module.xml

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.apache.maven" slot="main">

    <resources>
                        <resource-root path="maven-aether-provider-3.2.5.jar"/>
                        <resource-root path="maven-artifact-3.2.5.jar"/>
                        <resource-root path="maven-compat-3.2.5.jar"/>
                        <resource-root path="maven-core-3.2.5.jar"/>
                        <resource-root path="maven-model-builder-3.2.5.jar"/>
                        <resource-root path="maven-model-3.2.5.jar"/>
                        <resource-root path="maven-plugin-api-3.2.5.jar"/>
                        <resource-root path="maven-repository-metadata-3.2.5.jar"/>
                        <resource-root path="maven-settings-builder-3.2.5.jar"/>
                        <resource-root path="maven-settings-3.2.5.jar"/>
              </resources>
  
    <dependencies>
                    <module name="javax.api" export="false" slot="main" services="import" optional="false"/>
                    <module name="org.apache.maven.wagon" export="false" slot="main" services="import" optional="false"/>
                    <!--<module name="org.codehaus.plexus" export="false" slot="main" services="import" optional="false"/>-->
                    <!--<module name="org.sonatype.aether" export="false" slot="main" services="import" optional="false"/>-->
                     <module name="org.eclipse.aether" export="false" slot="main" services="import" optional="false"/>
                     <module name="org.sonatype.plexus" export="false" slot="main" services="import" optional="false"/>
                     <module name="org.sonatype.sisu" export="false" slot="main" services="import" optional="false"/>
                     <module name="org.eclipse.sisu"/>
                     <module name="com.google.guava" />
              </dependencies>
  </module>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...