У нас есть некоторые проблемы с нашим автоматизированным процессом сборки maven. Время от времени сборка нарушается процессом подписания install4j. Иногда это работает очень хорошо, иногда мы получаем следующее:SocketTimeoutException во время процесса подписания
...
[15:51:29] : [myapp] [INFO] Compiling launcher 'Standalone updater':
[15:51:29] : [myapp] [INFO] replaced variable 'launcher.name' with 'MyApp' in string '${compiler:launcher.name} Update'
[15:51:29] : [myapp] [INFO] using icon file D:\BuildAgent7\work\1c0ed506bc73bcb4\target\install4j\resource\updater.ico
[15:51:29] : [myapp] [INFO] replaced variable 'sys.fullName' with 'My Application' in string 'Starts the ${compiler:sys.fullName} update'
[15:51:29] : [myapp] [INFO] Creating GUI mode application.
[15:51:29] : [myapp] [INFO] Signing executable
[15:51:37] : [myapp] [INFO] Creating media file:
[15:51:37] : [myapp] [INFO] replaced variable 'launcher.name' with 'MyApp' in string '${compiler:launcher.name} Uninstall'
[15:51:37] : [myapp] [INFO] output file is D:\BuildAgent7\temp\buildTmp\install4j374202026546155444_dir\set1\launcheruninstaller\app.ico
[15:51:37] : [myapp] [INFO] replaced variable 'sys.fullName' with 'My Application' in string 'Remove the ${compiler:sys.fullName} installation'
[15:51:37] : [myapp] [INFO] Creating GUI mode application.
[15:51:37] : [myapp] [INFO] Signing executable
[15:51:47] : [myapp] [INFO] com.a.a.d: error during counter signing
[15:51:47] : [myapp] [INFO] at com.install4j.c.b.d.a(ejt:137)
[15:51:47] : [myapp] [INFO] at com.install4j.c.b.d.a(ejt:94)
[15:51:47] : [myapp] [INFO] at com.install4j.c.b.g.a(ejt:68)
[15:51:47] : [myapp] [INFO] at com.install4j.b.g.c.a(ejt:189)
[15:51:47] : [myapp] [INFO] at com.install4j.b.g.c.a(ejt:82)
[15:51:47] : [myapp] [INFO] at com.install4j.b.g.g.a(ejt:60)
[15:51:47] : [myapp] [INFO] at com.install4j.b.b.d(ejt:392)
[15:51:47] : [myapp] [INFO] at com.install4j.b.b.c(ejt:360)
[15:51:47] : [myapp] [INFO] at com.install4j.b.b.a(ejt:135)
[15:51:47] : [myapp] [INFO] at com.install4j.b.h.a(ejt:440)
[15:51:47] : [myapp] [INFO] at com.install4j.b.h.a(ejt:214)
[15:51:47] : [myapp] [INFO] at com.install4j.b.h.d(ejt:106)
[15:51:47] : [myapp] [INFO] at com.install4j.Install4JApplication.c(ejt:436)
[15:51:47] : [myapp] [INFO] at com.a.a.a(ejt:286)
[15:51:47] : [myapp] [INFO] at com.install4j.Install4JApplication.main(ejt:93)
[15:51:47] : [myapp] [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[15:51:47] : [myapp] [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.lang.reflect.Method.invoke(Unknown Source)
[15:51:47] : [myapp] [INFO] at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
[15:51:47] : [myapp] [INFO] at com.exe4j.runtime.WinLauncher.main(Unknown Source)
[15:51:47] : [myapp] [INFO] at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source)
[15:51:47] : [myapp] [INFO] Caused by: java.io.IOException: Read timed out
[15:51:47] : [myapp] [INFO] You can set a different timestamp signing service by setting the VM parameter -Dinstall4j.timestampUrl=http://... in bin/install4j.vmoptions
[15:51:47] : [myapp] [INFO] at com.install4j.c.b.d.b(ejt:174)
[15:51:47] : [myapp] [INFO] at com.install4j.c.b.d.a(ejt:110)
[15:51:47] : [myapp] [INFO] ... 21 more
[15:51:47] : [myapp] [INFO] Caused by: java.net.SocketTimeoutException: Read timed out
[15:51:47] : [myapp] [INFO] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[15:51:47] : [myapp] [INFO] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.lang.reflect.Constructor.newInstance(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.security.AccessController.doPrivileged(Native Method)
[15:51:47] : [myapp] [INFO] at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
[15:51:47] : [myapp] [INFO] at com.install4j.runtime.installer.helper.content.Downloader.connect(Unknown Source)
[15:51:47] : [myapp] [INFO] at com.install4j.c.b.d.b(ejt:156)
[15:51:47] : [myapp] [INFO] ... 22 more
[15:51:47] : [myapp] [INFO] Caused by: java.net.SocketTimeoutException: Read timed out
[15:51:47] : [myapp] [INFO] at java.net.SocketInputStream.socketRead0(Native Method)
[15:51:47] : [myapp] [INFO] at java.net.SocketInputStream.read(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.net.SocketInputStream.read(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.io.BufferedInputStream.fill(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.io.BufferedInputStream.read1(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.io.BufferedInputStream.read(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
[15:51:47] : [myapp] [INFO] at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.net.URLConnection.getHeaderFieldLong(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.net.URLConnection.getContentLengthLong(Unknown Source)
[15:51:47] : [myapp] [INFO] at java.net.URLConnection.getContentLength(Unknown Source)
[15:51:47] : [myapp] [INFO] ... 24 more
[15:51:47] : [myapp] [INFO] install4j: compilation failed. Reason: error during counter signing
[15:51:47] : [myapp] [Maven Watcher]
[15:51:47]E: [myapp] Failed to execute goal org.sonatype.install4j:install4j-maven-plugin:1.0.5:compile (build-installer) on project myapp: null returned: 1
...
Это проблема стабилизации нашей непрерывной сборки. SocketTimeoutException
приводит меня к завершению отсутствия соединения с сервером verisign. Но для обновления было уже соединение во время выполнения подписания. Теперь я не уверен, что это может быть проблемой нашей среды сборки или процесса подписания самой install4j. Какое значение установлено как значение по умолчанию для таймаута соединения? Можно ли переопределить это значение?
Для подписания мы используем файл pfx и install4j с версией 5.1.12.
В порядке, я попробую это. Можно ли также установить параметр VM в командной строке вместо фиксированного файла vmoption? – Hardie82
Да, с -J-Dinstall4j.readTimeout = 20000 –
Теперь плагин install4j maven был расширен, чтобы выставить параметр, позволяющий установить этот и другие параметры VM. Запрос на перенос - https://github.com/sonatype/install4j-support и содержит дополнительный документ. Новая версия с этими изменениями - 1.0.8. –