Commented: (WAGONFTP-8) ArrayIndexOutOfBoundsException upon deploy

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Commented: (WAGONFTP-8) ArrayIndexOutOfBoundsException upon deploy

    [ ]

John Wells commented on WAGONFTP-8:


I've figured out what the real problem is here.

Once you get past the AOOBE (by applying the fix I suggested earlier - to several places in the file (Michael for the pointer, that was a *big* help) I found that things still did not work properly.  This is what I found out:

My FTP server is running on Windows (I know, I know, but what can I say, company policy).

Unfortunately, the reply from the ftp LIST command is not something that is understood by the "DefaultListParser" (it seems as though either the system autodetect mechanism doesn't work or the windows version of the parser doesn't work).  Basically, the format of the LIST reply is something like this:

150 Opening ASCII mode data connection for /bin/ls.
12-23-05  06:17AM                12984 dioce-1.1-SNAPSHOT.jar
12-23-05  06:17AM                   32 dioce-1.1-SNAPSHOT.jar.md5
12-23-05  06:17AM                   40 dioce-1.1-SNAPSHOT.jar.sha1
12-23-05  06:17AM                  243 dioce-1.1-SNAPSHOT.pom
12-23-05  06:17AM                   32 dioce-1.1-SNAPSHOT.pom.md5
12-23-05  06:17AM                   40 dioce-1.1-SNAPSHOT.pom.sha1
12-23-05  06:17AM                  266 maven-metadata.xml
12-23-05  06:17AM                   32 maven-metadata.xml.md5
12-23-05  06:17AM                   40 maven-metadata.xml.sha1
226 Transfer complete.
ftp: 582 bytes received in 0.00Seconds 582000.00Kbytes/sec

Since the FTP client doesn't know how to parse this sort of output, it thinks that the files it is asking for are not there, and hence the SNAPSHOT mechanism doesn't work.

I am trying two things to fix this:

1.  Write a parser that understands this format (I know I can write the parser, I do not know exactly how to plug it in)
2.  Move the ftp server to a linux box (aint gonna happen)
3.  find  an ftp server for windows that has output for the LIST command that is more "linux-like"

Probably (2) is the easiest technically, but most difficult politically (in my company)

Anyway, I hope this helps people who have been having this problem.

John Wells (Aziz)
[hidden email]

> ArrayIndexOutOfBoundsException upon deploy
> ------------------------------------------
>          Key: WAGONFTP-8
>          URL:
>      Project: wagon-ftp
>         Type: Bug

>  Environment: Win xp, sp2
>     Reporter: Michael Fiedler

> I am trying to deploy for the first time.  I am using wagon-ftp, 1.0-alpha-4 as an extension for a maven 2 deploy goal.  The repository location (on the host) is new and empty.
> c:\...> .../bin/mvn clean:clean install deploy
> ...
> [INFO] [deploy:deploy]
> [INFO] Retrieving previous build number from M2_repo_ftp
> Uploading: ftp://host/com/company/modules/1.0-SNAPSHOT/modules-1.0-20051202.165702-1.pom
> 4K uploaded
> [INFO] Retrieving previous metadata from M2_repo_ftp
> [INFO] ----------------------------------------------------------------------------
> [INFO] ----------------------------------------------------------------------------
> [INFO] 0
> [INFO] ----------------------------------------------------------------------------
> [INFO] Trace
> java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.maven.wagon.providers.ftp.FtpWagon.fillInputData(
>         at org.apache.maven.wagon.StreamWagon.get(
>         at org.apache.maven.artifact.manager.DefaultWagonManager.getRemoteFile(
>         at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifactMetadata(
>         at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.resolveAlways(
>         at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.deploy(
>         at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(
>         at org.apache.maven.plugin.deploy.DeployMojo.execute(
>         at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
>         at org.apache.maven.DefaultMaven.doExecute(
>         at org.apache.maven.DefaultMaven.execute(
>         at org.apache.maven.cli.MavenCli.main(
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
>         at java.lang.reflect.Method.invoke(
>         at org.codehaus.classworlds.Launcher.launchEnhanced(
>         at org.codehaus.classworlds.Launcher.launch(
>         at org.codehaus.classworlds.Launcher.mainWithExitCode(
>         at org.codehaus.classworlds.Launcher.main(
> [INFO] ----------------------------------------------------------------------------

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]