Как объединить дополнительный файл JAR (Updater) в комплекс для установщика настольных компьютеров?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как объединить дополнительный файл JAR (Updater) в комплекс для установщика настольных компьютеров?

Сообщение Anonymous »

Описание задачи: < /p>
Я разрабатываю мультиплатформенное приложение Kotlin с Compose для настольных компьютеров и хочу реализовать Auto-Updater. Моя архитектура состоит из двух частей:

[*] Основное приложение (Composeapp): проверяет новые версии на GitHub при запуске.
Отдельная программа обновления (Updater.jar): небольшая программа Kotlin/JVM, которая запущена основным применением для загрузки и установки новой версии. /> Для работы файл Updater.jar должен находиться в том же каталоге, что и. Exeme после установки (например, в C: \ Program Files \ Project \ ).
Я поместил updator.jar в Directory of My Daypop Module:

Код: Выделить всё

composeApp/src/desktopMain/resources/updater.jar

Однако, когда я строю установщик, используя задачу Gradle ./gradlew: Composeapp: packagemsi и устанавливать приложение, Updater.jar не находится в каталоге установки. Только файл .exe и время выполнения и app присутствуют.

Код: Выделить всё

// This code fails because updater.jar does not exist
val updaterJar = File(System.getProperty("user.dir"), "updater.jar")
if (!updaterJar.exists()) {
// ... error handling
}
< /code>
То, что я пробовал:
На основании различных руководств я пытался явно объединить файл в моем build.gradle.kts < /code>. Моя первая попытка состояла в том, чтобы добавить конфигурацию внутри Nativedistribitions 
Block:

Код: Выделить всё

// In composeApp/build.gradle.kts
compose.desktop {
application {
mainClass = "de.dev.project.MainKt"
nativeDistributions {
packageName = "project"
// ... other settings ...

// FAILED ATTEMPT: This results in an 'Unresolved reference 'files'' error
files.from("src/desktopMain/resources/updater.jar") {
renameTo("updater.jar")
}
}
}
}
< /code>
Однако это приводит к ошибке неразрешенной ссылки «файлов файлов», поскольку блок файлов здесь кажется недействительным. < /p>
Мой вопрос:
Что является правильным и идиоматическим способом в Gradle для составления для проекта настольного проекта, чтобы обеспечить арбитражный файл (в конечном итоге. (рядом с .exe 
)?

Подробнее здесь: https://stackoverflow.com/questions/797 ... top-instal
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»