Hi,
I could not configure site deployment with NullKnownHostProvider as
known host provider. Class NullKnownHostProvider is not found :-(
Actually NullKnownHostProvider class is bundled in the
"wagon-ssh-common" library. The library is a transitive dependency of
"wagon-ssh" which is declared as m-site-p dependency. From this
perspective class should be on the classpath, but:
Stack trace:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-site-plugin:3.0-beta-4-SNAPSHOT:stage-deploy
(default-cli) on project test3: Unable to configure Wagon: 'scp':
While configuring wagon for 'localhost': Unable to apply wagon
configuration. ClassNotFoundException: Class name which was explicitly
given in configuration using 'implementation' attribute:
'org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider'
cannot be loaded -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal
org.apache.maven.plugins:maven-site-plugin:3.0-beta-4-SNAPSHOT:stage-deploy
(default-cli) on project test3: Unable to configure Wagon: 'scp'
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to
configure Wagon: 'scp'
at
org.apache.maven.plugins.site.AbstractDeployMojo.deploy(AbstractDeployMojo.java:257)
at
org.apache.maven.plugins.site.AbstractDeployMojo.deployTo(AbstractDeployMojo.java:242)
at
org.apache.maven.plugins.site.AbstractDeployMojo.execute(AbstractDeployMojo.java:150)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: org.apache.maven.wagon.TransferFailedException: While
configuring wagon for 'localhost': Unable to apply wagon
configuration.
at
org.apache.maven.plugins.site.AbstractDeployMojo.configureWagon(AbstractDeployMojo.java:654)
at
org.apache.maven.plugins.site.AbstractDeployMojo.deploy(AbstractDeployMojo.java:253)
... 23 more
Caused by:
org.codehaus.plexus.component.configurator.ComponentConfigurationException:
ClassNotFoundException: Class name which was explicitly given in
configuration using 'implementation' attribute:
'org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider'
cannot be loaded
at
org.codehaus.plexus.component.configurator.converters.AbstractConfigurationConverter.getClassForImplementationHint(AbstractConfigurationConverter.java:70)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.fromConfiguration(ObjectWithFieldsConverter.java:80)
at
org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure(ComponentValueSetter.java:278)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter.java:151)
at
org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent(BasicComponentConfigurator.java:56)
at
org.codehaus.plexus.component.configurator.AbstractComponentConfigurator.configureComponent(AbstractComponentConfigurator.java:66)
at
org.codehaus.plexus.component.configurator.AbstractComponentConfigurator.configureComponent(AbstractComponentConfigurator.java:59)
at
org.apache.maven.plugins.site.AbstractDeployMojo.configureWagon(AbstractDeployMojo.java:645)
... 24 more
Caused by: java.lang.ClassNotFoundException:
org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider
at
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
at
org.codehaus.plexus.component.configurator.converters.AbstractConfigurationConverter.getClassForImplementationHint(AbstractConfigurationConverter.java:61)
... 31 more
Do you know where does plexus look for classes for plugin execution?
When wagon-ssh and wagon-ssh-common libraries are copied directly to
the M2_HOME/lib NullKnownHostProvider class is found, but the know
host provider configuration is ignored (I have to accept server
fingerprint).
I prepared sample project to reproduce my case:
http://m4enterprise.googlecode.com/svn/trunk/test3/
To configure NullKnownHostProvider define the following server section
in the settings.xml:
<server>
<id>acme-id</id>
<username>root</username>
<password>******</password>
<configuration>
<!-- Disable host checking -->
<knownHostsProvider
implementation="org.apache.maven.wagon.providers.ssh.knownhost.NullKnownHostProvider">
<hostKeyChecking>no</hostKeyChecking>
</knownHostsProvider>
</configuration>
</server>
And finally try do deploy the sample project site:
mvn site
mvn site:stage-deploy (or site:deploy)
Any help will be really appreciated :-)
--
Marcin
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]