OK. I am fairly new to the Java world (I have spent most of my time with .NET). I have a project that is running in a Windows environment under the IntelliJ IDE and everything seems to work the way I want. Now I would like to deploy to a Linux Ubuntu server and run the code there. To make sure that it runs what all do I need to copy? I am assuming that I need the compile class that contains 'main' as well as all of the classes that makeup my packages. This brings up my first question cann all of the class files that are part of the packages in the project be somehow combined so I just need to deploy one class file? If not what is the directory structure expected? Or do I just need a CLASSPATH environment variable that includes the classes of my package? Now what about the various jar files that make up the external libraries? What if I want to make my own JAR file? Thanks for help on these rudimentary questions.