Mapping the file name would reduce the length a bit, but i am wondering
if it is really worth the complexity for the small gain in reduction of
characters in the file path.
For users on JDK 1.5_06 (where the JDK bug is fixed), there are still
some related issues that I found after further investigation..
A lot of windows programs are coded to use MAX_PATH, which is defined as
260 characters. If the windows unicode API is used to create the file,
paths longer than 256 characters can be used, which is what the JDK bug
fix does AFAIK.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/naming_a_file.asp
Examples of Windows XP programs that have problems with long file paths
are windows explorer and the the CMD shell (I tried them). Hopefully
decent backup programs work with paths greater than 260 chars..
WinZip is another example of a program that has problems, so as a
workaround users on JDK 1.5_06 can extract the zip with the JDK jar
utility (I have confirmed it worked with the following command):
C:\test\this\is\a\really\long\install\directory\name\to\demonstrate\jdk\bug\6182812>"C:\Program
Files\Java\jdk1.5.0_06\bin\jar" xvf geronimo-tomcat-j2ee-1.0.zip
Another workaround for users on JDK 1.4.2 is to install to a different
(shorter) location, or shorten file names in their web applications.
Do people think that the above workarounds are acceptable and it isn't
worth trying to shorten our file paths?
John
Alan D. Cabrera wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Sisson wrote, On 1/7/2006 10:46 PM:
FYI.. We need to be careful of resulting file path lengths on Windows
when creating web applications that may result in long file paths in
Geronimo due to a JDK 1.4 bug (
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6182812) that has
only been fixed in JDK 1.5_06.
Fom reading the bug and related bugs' descriptions it appears the
Windows JDK will only allow file names less than 260 bytes, otherwise a
FileNotFoundException is thrown.
I initially ran into this JDK bug whilst building geronimo under a long
directory name (see GERONIMO-1428 for details).
On a related note (not due to the JDK bug) I found that if I installed
geronimo from a zip distribution using WinZip (version 10.0 6685) into a
long directory path, WinZip also has problems:
Error: The system cannot find the path specified.
Cannot create
C:\test\this\is\a\really\long\install\directory\name\to\demonstrate\jdk\bug\6182812\geronimo-1.0-SNAPSHOT\config-store\28\geronimo-console-standard-1.0-SNAPSHOT.war\WEB-INF\classes\org\apache\geronimo\console\jmsmanager\JMSConnectionFactoryManagerPortlet.class
Regards,
John
We can mitigate this problem by mapping the unpacked war name to
something smaller, i.e. war_001.
WDYT?
Regards,
Alan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDwUDD1xC6qnMLUpYRArvsAJ0WCeI4ndmqyx4B84Uo1yWiWp1gdgCeKC+Z
831EwbUu/DomYsoNd4NLoY8=
=9MNW
-----END PGP SIGNATURE-----