[ http://jira.codehaus.org/browse/WAGON-64?page=comments#action_82667 ] Brian Lowe commented on WAGON-64: ---------------------------------
Caleb, I started seeing that same issue recently, but not in maven. I'm making a direct call to org.apache.commons.io.FileUtils.copyFile() and the copy operation fails randomly on different subsystems with the "directory cannot be created" error. Did you ever find a solution? I wonder if it is related to a Windows update since ours also worked flawlessly for months then broke with no changes to the code. > 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-2, 1.0-alpha-3, 1.0-alpha-4, 1.0-alpha-5, > 1.0-alpha-6, 1.0-alpha-7 > 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