This paper describes JADIMA (Java Distributed Machine), a collaborative platform to construct high performance distributed JAVA applications. JADIMA is a system that automatically manages the remote libraries used in a JAVA application. JADIMA takes the advantages of portability, modularity, flexibility and object oriented model of JAVA, while incorporating well known techniques of communication and security. The result is a simple and efficient distributed environment upon which applications and data are easily shared and highly portable amongst heterogeneous platforms and multiple users. JADIMA allows compilation and execution of JAVA applications which use distributed libraries, without the need of keeping them either in the developer or the user hosts. To illustrate the functionality and characteristics of JADIMA, we show examples of constructing real applications with several levels of library package dependencies in distributed environments.