File cannot be created error...
-------------------------------

                 Key: WAGON-64
                 URL: http://jira.codehaus.org/browse/WAGON-64
             Project: wagon
          Issue Type: Bug
          Components: wagon-file
    Affects Versions: 1.0-alpha-7, 1.0-alpha-6, 1.0-alpha-5, 1.0-alpha-4, 
1.0-alpha-3, 1.0-alpha-2
            Reporter: Caleb Lyness


I am using maven 1.0 to build and deploy. As of a couple of days back I started 
getting deploy problems. 
I am completely lost as to explain the error and desperately would like some 
one to shed some light
I am deploying to maven repository which lives in a windows share.

The repository is defined as follows in the project.properties file:

maven.repo.list=internal
maven.repo.internal=file://
maven.repo.internal.directory=\\\\192.168.150.7\\Maven.Internal.Repo

This has been working for nearly a year now. (An aside any other arrangment of 
URL sepecification always results 
in the deployment to the local host... yes I have tried all combinations and 
read the stuff out there. Makes no difference)

It now fails with the following error:

Will deploy to 1 repository(ies): internal
Deploying to repository: internal
Uploading to System/poms/Service-1.4.0.pom:
.................... (6K)
Failed to deploy to: internal Reason: 
org.apache.maven.wagon.TransferFailedException: Specified destination directory 
cannot be created: \\192.168.150.7\Maven.Internal.Repo\System\poms
org.apache.maven.wagon.TransferFailedException: Specified destination directory 
cannot be created: \\192.168.150.7\Maven.Internal.Repo\System\poms
        at 
org.apache.maven.wagon.AbstractWagon.createParentDirectories(AbstractWagon.java:169)
        at 
org.apache.maven.wagon.providers.file.FileWagon.fillOutputData(FileWagon.java:82)
        at org.apache.maven.wagon.StreamWagon.put(StreamWagon.java:133)
        at 
org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deployFiles(DefaultArtifactDeployer.java:407)
        at 
org.apache.maven.artifact.deployer.DefaultArtifactDeployer.doDeploy(DefaultArtifactDeployer.java:324)
        at 
org.apache.maven.artifact.deployer.DefaultArtifactDeployer.handleDeploy(DefaultArtifactDeployer.java:131)
        at 
org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:102)
        at 
org.apache.maven.artifact.deployer.DeployBean.deploy(DeployBean.java:142)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

Notice how the first upload worked. While the second one dies while trying to 
create the parent directly (which does exist).
The first upload must have executed exactly the same code!

I have updated wagon jars the plugin is using and this does not modify the 
error.

in AbstractWagon.java the failing code is: 
    protected void createParentDirectories(File destination)
        throws TransferFailedException
    {
        File destinationDirectory = destination.getParentFile();
        if(destinationDirectory != null && !destinationDirectory.exists() && 
!destinationDirectory.mkdirs())
            throw new TransferFailedException("Specified destination directory 
cannot be created: " + destinationDirectory);
        else
            return;
    }

I wrote a quick test which runs on the same machine:

                System.out.println("Test: ");
                File destination = new 
File("\\\\192.168.150.7\\Maven.Internal.Repo\\System\\poms\\test-file"); 
        File destinationDirectory = destination.getParentFile();
        if  (destinationDirectory != null 
          && !destinationDirectory.exists() 
          && !destinationDirectory.mkdirs())
                System.out.println("Failed!");
        else
                System.out.println("Ok!");
        
        destination.createNewFile();
        
        if  (destinationDirectory != null 
                  && !destinationDirectory.exists() 
                  && !destinationDirectory.mkdirs())
                System.out.println("Failed!");
              else
                System.out.println("Ok!");


This works fine. I get an empty file on the share.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to