Well, you can expect to see problems when you move your code deployed in an Application Server on Windows vs. Application Server on Linux. I was thinking about documenting the experiences I recentlyhad, until I noticed that Owen had beautifully documented it here :-
http://forum.java.sun.com/thread.jspa?threadID=5131195
The moral of the story & the meat of the problem is :-
a) Unix file permissions eg. unable to read/write/create directories,
porting batch files to shell scripts, execute permission on scripts
b) Case sensitivities of files, directories, resources, property files
c) Any hard coded paths would need to be changed to use File.separator, for
their platform dependant equivalent
d) Potential file encoding problems on text files and property files, also
in carriage return & linefeeds
e) Potentially "headless" environments in Unix. Where they don't have an X-Server running, so most, if not all, your Awt & Swing calls would fail.
f) Any calls to native libraries would need to Unix system objects instead of the Windows DLL's. ( *.so )
Thanks Owen !