Я написал Java приложение-обертку, которое загружает сам JAR-файл приложения из Интернета. По сути, это автоматическое обновление c. JAR приложения затем запускается JAR-оберткой, загружая его и выполняя его функцию точки входа следующим образом:
Class<?> classObject = this.getClassObject();
Method method = classObject.getMethod("run", String[].class);
method.invoke( classObject.newInstance(), (Object)this.getArgs().toArray( new String[0] ));
Кажется, что JAR-приложение и JAR-обертка совместно используют одни и те же зависимости, если JAR-приложение загружается вот так. Есть ли способ сделать так, чтобы они не разделяли зависимости между ними?
Я намерен провести автоматическое c обновление. JAR-оболочка может иметь разные версии зависимостей по сравнению с установленным JAR-приложением. Это означает, что если есть обновление для одной из зависимостей, мне нужно обновить jar-файл оболочки и приложения, что лишает смысла автоматическую c систему обновления.