Не существует правильного решения для всех целей.Вы можете создать систему управления версиями yourselg, переименовывать старые файлы и перемещать их в отдельный подкаталог, или вы можете использовать существующие системы управления версиями, такие как git / svn / cvs / rcs / ccss / mercurial - некоторые из них имеют библиотеки java и все они сосутразной степени.Просто выберите тот, который вам нравится.
Другой альтернативой может быть использование какой-нибудь системы CMS, но обычно они отстают еще больше.
Зачем вам все равно отслеживать старые версии?