I am about to embark on a project to create a platform-independent local server for coordinating file editing. The server is local to any given machine but will be used by many people on many different machines. My first instinct was to use Java since it is very portable, supports web development, and it has good libraries available for both json and mongodb (the core requirements for this project).
Portability is key. I imagined the user simply firing up the .jar, and they have their local server running.
After doing some research into Java web development, however, I see that you need some server environment like tomcat, app engine, or jetty. I can't require every user to install one of these environments (that defeats the simplicity of portable java executables).
question: Is what I described possible in Java or do I need to start looking elsewhere?