I am a unix guy. These days I learn to use some IDEs on windows. I like some convenient features of them but I am frustrated by the migration problems. Here are some questions ---
First of all, my production environment is set on UNIX, so I use windows
IDE to create and
test codes, then migrate to unix. That's my goal. Now,
1. For simple
java codes, there is no problem to miagrate the .class , .jar files, write once, run anywhere.
2. For web application(servlet/jsp) using
jdbc, there are some problems. For instance, you need a web container to test your code, for some IDE, it doesn't have web container, so how do you test them ? you can't even compile them unless you install some external .jar for
servlet compiling, even you can compile your codes in IDE, you can't test. You can only create some ".war" that you have no idea if it works, and move to unix to test. If fails, go back to windows to modify and move back to unix for re-test. This doesn't make sense to use the IDE...
3. If my production is on unix and it has its own appliction server, when you want to test some
EJB, JDBC on windows IDE, how can you utilize my unix machine's application server ? Some IDE is shipped with its own web container or application server for testing. But the feature and setting requirement for such embedded container are quite different from the actual appliction server on unix, so if you want to migrate your EJB codes to unix, you need to make LOT of change, it is not like moving EAR...
4. If the application requires using some external file on a file system, then how can you migrate a code generated on windows, it doesn't know your unix file system structure that you need to use. So this requires code change if you migrate.
Based on the above problems, I am wondering how unix guys can take advantage of windows IDE if the application involves application server, database link, external file dependency. Please share your experience.
Do you think it is worthwhile to use windows IDE if your production is a J2EE application server on unix ?