#553 ✓wontfix
David Lacourt

Symlinked folders cause error in play war deployment

Reported by David Lacourt | January 20th, 2011 @ 10:49 PM | in 1.3 (closed)

Please include as much relevant information as possible including the exact framework version you're using and a code snippet that reproduces the problem.

Framework version: 1.1
Platform you're using: MacOSX, app directory is symlinked to my dropbox folder as described in here : http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders (I use the SymbolicLinked one)

Reproduction steps:
- play new test-symlink-app - move app, conf directories in Dropbox, create symlinks on these 2 directories, copy the symlinks back in the app directory. - play war

It seems that the Python script cannot fully copy the symlinked directories or their content, as the content of the war after the error does not contain a /WEB-INF/application/conf directory.

Trackback trace is :

~ Packaging current version of the framework and the application to /Users/user/Documents/projects/test-symlink-app ... Traceback (most recent call last):
File "/Developer/play-1.1/play", line 111, in

cmdloader.commands[play_command].execute(command=play_command, app=play_app, args=remaining_args, env=play_env, cmdloader=cmdloader)

File "/Users/user/Desktop/play-1.1/framework/pym/play/commands/war.py", line 57, in execute File "/Users/user/Desktop/play-1.1/framework/pym/play/utils.py", line 147, in package_as_war File "/Users/user/Desktop/play-1.1/framework/pym/play/utils.py", line 21, in replaceAll File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/fileinput.py", line 253, in next

line = self.readline()

File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/fileinput.py", line 322, in readline

os.rename(self._filename, self._backupfilename)

OSError: [Errno 2] No such file or directory

Comments and changes to this ticket

  • Felipe

    Felipe March 22nd, 2011 @ 11:11 PM

    I've got the same "problem". But in a completely different context. I was trying to generate a package, and the source folder of my project was in this path:


    Please notice the path is inside a hidden dir. I was trying to do continuous deployment using Hudson, so the hudson do a fresh git clone and later generate the package.

    When play tries to copy all content of source folder to the target folder specified using the -o arg it doesn't do it. Because of this line in play/utils.py on copy_directory(source, target) method:

    if root.find('/.') > -1:


    When play tries to close the war, the target folder has no app content inside (because copy_directory didn't do nothing) and it throws this error, saying that it was not possible to locale the path.

    I've made a poor (actually, ugly and disgusting) workaround:

    if root.find('/.') > -1 and not root.find('/.hudson'):

    I know the importance of the original condition statement, because also I don't want that the war has the .git and others inside it. My question is: what's the best approach to solve this issue?


  • Nicolas Leroux

    Nicolas Leroux January 1st, 2013 @ 07:17 PM

    • State changed from “new” to “wontfix”
    • Assigned user set to “Nicolas Leroux”
    • Milestone set to 1.3
  • Vivek Ydv

    Vivek Ydv June 7th, 2018 @ 09:48 AM

    If your windows device is not support in usb driver properly then used this tutorial https://fixforwindows.com/usb and know all the related things, its really working very well and easily solve your trouble in without any interruption.

  • mandiken

    mandiken August 17th, 2018 @ 07:37 AM

    That’s an honest question, not pointed at all. Filling a book with traumatic elements does not guarantee a good book. In fact, it often means the opposite. There’s a certain kind of https://www.assignmentspot.co.uk/ writer that stuffs their story chock full of fucked up shit in a desperate attempt to illicit an emotional response from the reader. However, it usually only results in aversion.

  • Gregory Hankins
  • guideisafu

    guideisafu April 3rd, 2019 @ 04:05 AM

    1998yes is an international fast-fashion online retail destination serving young women

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2>Play framework</h2>

Play makes it easier to build Web applications with Java. It is a clean alternative to bloated Enterprise Java stacks. It focuses on developer productivity and targets RESTful architectures. Learn more on the <a href="http://www.playframework.org">http://www.playframework.org</a> website.<br><br>

<h2>Source code is hosted on github</h2>Check out our repository at <a href="http://github.com/playframework/play">http://github.com/playframework/play</a><br><br>

<h2>Contributing, creating a patch</h2> Please read the <a href="http://play.lighthouseapp.com/projects/57987/contributor-guide">contributor guide</a><br><br>

<h2>Reporting Security Vulnerabilities</h2> Since all bug reports are public, please report any security vulnerability directly to <em>guillaume dot bort at gmail dot com</em>.<br><br>

<h2>Creating a bug report</h2> Bug reports are incredibly helpful, so take time to report bugs and request features in our ticket tracker. We’re always grateful for patches to Play’s code. Indeed, bug reports with attached patches will get fixed far quickly than those without any.<br><br>

Please include as much relevant information as possible including the exact framework version you're using and a code snippet that reproduces the problem.<br><br>

Don't have too much expectations. Unless the bug is really a serious "everything is broken" thing, you're creating a ticket to start a discussion. Having a patch (or a branch on Github we can pull from) is better, but then again we'll only pull high quality branches that make sense to be in the core of Play.

People watching this ticket