Почему Install4j не может проанализировать файл update. xml с SAXParseException? - PullRequest
1 голос
/ 20 июня 2020

Я новичок в install4j и stackoverflow, поэтому извиняюсь, если мой запрос не структурирован должным образом.

Мы используем install4j версии 6.1.2 (сборка 6275). Когда наше приложение запускается, автообновление install4j получает следующую ошибку, когда проверяет наличие обновлений, а обновление не выполняется (приложение запускается со старой версией):

[ERROR] com.install4j.runtime.beans.actions.update.CheckForUpdateAction [ID 322]: could not download file
        java.io.IOException
java.io.IOException
        at com.install4j.runtime.installer.helper.XmlHelper.createIoException(XmlHelper.java:307)
        at com.install4j.runtime.installer.helper.XmlHelper.parse(XmlHelper.java:90)
        at com.install4j.runtime.installer.helper.XmlHelper.parseFile(XmlHelper.java:44)
        at com.install4j.runtime.installer.helper.XmlHelper.parseFile(XmlHelper.java:40)
        at com.install4j.runtime.installer.config.update.UpdateDescriptorImpl.read(UpdateDescriptorImpl.java:73)
        at com.install4j.runtime.beans.actions.update.CheckForUpdateAction.execute(CheckForUpdateAction.java:38)
        at com.install4j.runtime.beans.actions.SystemInstallOrUninstallAction.install(SystemInstallOrUninstallAction.java:29)
        at com.install4j.runtime.installer.ContextImpl$7.executeAction(ContextImpl.java:1668)
        at com.install4j.runtime.installer.ContextImpl$7.fetchValue(ContextImpl.java:1659)
        at com.install4j.runtime.installer.ContextImpl$7.fetchValue(ContextImpl.java:1656)
        at com.install4j.runtime.installer.helper.comm.actions.FetchObjectAction.execute(FetchObjectAction.java:14)
        at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionDirect(HelperCommunication.java:272)
        at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionInt(HelperCommunication.java:247)
        at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionChecked(HelperCommunication.java:185)
        at com.install4j.runtime.installer.helper.comm.HelperCommunication.fetchObjectChecked(HelperCommunication.java:168)
        at com.install4j.runtime.installer.ContextImpl.performActionIntStatic(ContextImpl.java:1656)
        at com.install4j.runtime.installer.InstallerContextImpl.performActionInt(InstallerContextImpl.java:151)
        at com.install4j.runtime.installer.ContextImpl.performAction(ContextImpl.java:1103)
        at com.install4j.runtime.installer.controller.Controller.executeAction(Controller.java:367)
        at com.install4j.runtime.installer.controller.Controller.executeActions(Controller.java:333)
        at com.install4j.runtime.installer.controller.Controller.handleCommand(Controller.java:194)
        at com.install4j.runtime.installer.controller.Controller.start(Controller.java:94)
        at com.install4j.runtime.installer.Application.runApplication(Application.java:71)
        at com.install4j.runtime.installer.Application.runApplicationInProcess(Application.java:52)
        at com.install4j.runtime.installer.helper.apiimpl.ApplicationLauncherImpl$1.run(ApplicationLauncherImpl.java:39)
        at com.install4j.runtime.installer.helper.apiimpl.ApplicationLauncherImpl.launchApplicationInProcess(ApplicationLauncherImpl.java:46)
        at com.install4j.api.launcher.ApplicationLauncher.launchApplicationInProcess(ApplicationLauncher.java:58)
        at com.install4j.runtime.launcher.LauncherIntegration$2.run(LauncherIntegration.java:110)
        at com.install4j.runtime.launcher.LauncherIntegration.processLauncherIntegration(LauncherIntegration.java:114)
        at com.install4j.runtime.launcher.LauncherIntegration.processLauncherIntegrations(LauncherIntegration.java:58)
        at com.install4j.runtime.launcher.LauncherIntegration.processLauncherIntegrations(LauncherIntegration.java:51)
        at com.install4j.runtime.launcher.LauncherIntegration.checkIntegrations(LauncherIntegration.java:38)
        at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25)
Caused by: org.xml.sax.SAXParseException; systemId: file:/C:/Users/.../AppData/Local/Temp/i4jupd5100269909742792694.xml; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at com.install4j.runtime.installer.helper.XmlHelper.parse(XmlHelper.java:88)
        ... 31 more
        Execute action not successful after 61 ms
[INFO] com.install4j.runtime.beans.screens.CustomizableProgressScreen [ID 320]: Canceled

Наши обновления. xml начинается файл со следующей строкой:

<?xml version="1.0" encoding="UTF-8"?>

У нас есть несколько сред развертывания, которые используют одну и ту же версию install4j для одного и того же приложения, но используют разные места назначения и номера версий. Автоматические обновления работают правильно в большинстве этих сред, и обновления. xml файлы в этих средах начинаются с той же строки, что и среда, в которой возникла эта проблема.

Я не думал, что это связано , но на всякий случай правильно работающие среды используют внутренние сайты. Среда, в которой произошел сбой, - это размещенный сайт AWS.

Изменить:

Файл, указанный в журнале, не существует. Но похоже, что другие попытки оставили после себя файлы i4jupd *. xml, каждый из которых имеет формат HTML, указывающий на обновления. xml файл был перемещен «сюда»

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://.../updates.xml">here</a>.</p>
</body></html>

Спасибо за ваш время!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...