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