Ошибка install4j с Splash.png не является допустимым файлом изображения

Я видел сообщение об этой самой проблеме, и автор решил ее, отредактировав файл заставки png. Однако в моем случае я не вносил никаких изменений в файл png, и все же я столкнулся с этой ошибкой с install4j. Пожалуйста, помогите, если кто-то решил это.

[install4j] java.lang.IndexOutOfBoundsException
[install4j]     at java.io.RandomAccessFile.writeBytes(Native Method)
[install4j]     at java.io.RandomAccessFile.write(Unknown Source)
[install4j]     at javax.imageio.stream.FileImageOutputStream.write(Unknown Source)
[install4j]     at com.sun.media.imageioimpl.plugins.bmp.BMPImageWriter.write(BMPImageWriter.java:513)
[install4j]     at javax.imageio.ImageWriter.write(Unknown Source)
[install4j]     at javax.imageio.ImageIO.write(Unknown Source)
[install4j]     at javax.imageio.ImageIO.write(Unknown Source)
[install4j]     at com.A.B.D.W(ejt:2330)
[install4j]     at com.A.B.D.Q(ejt:2859)
[install4j]     at com.A.B.D.L(ejt:1319)
[install4j]     at com.A.B.D.N(ejt:463)
[install4j]     at com.A.B.D.d(ejt:555)
[install4j]     at com.install4j.C.D.F.B(ejt:833)
[install4j]     at com.install4j.C.D.B.R(ejt:629)
[install4j]     at com.install4j.C.D.I(ejt:3315)
[install4j]     at com.install4j.C.D.C(ejt:776)
[install4j]     at com.install4j.C.A.A(ejt:1596)
[install4j]     at com.install4j.C.B.¦(ejt:1736)
[install4j]     at com.install4j.C.B.+(ejt:3290)
[install4j]     at com.install4j.C.B.I(ejt:659)
[install4j]     at com.install4j.Install4JApplication.?(ejt:3031)
[install4j]     at com.A.L.?(ejt:2517)
[install4j]     at com.install4j.Install4JApplication.main(ejt:3481)
[install4j]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[install4j]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[install4j]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[install4j]     at java.lang.reflect.Method.invoke(Unknown Source)
[install4j]     at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
[install4j]     at com.exe4j.runtime.WinLauncher.main(Unknown Source)
[install4j] install4j: compilation failed. Reason: com.A.B.E: com.A.B.E: File Splash.png is not a valid image file.

person Duke Pham    schedule 13.09.2012    source источник
comment
Какую версию install4j вы используете?   -  person Ingo Kegel    schedule 13.09.2012
comment
Спасибо, Инго, я использую install4j-4.2.2.   -  person Duke Pham    schedule 18.09.2012
comment
Я также обнаружил, что когда мои свойства файла png были доступны только для чтения (RA), произошла ошибка с ошибкой, и когда я изменил его на доступный для записи (A), он больше не имеет ошибки, и install4j успешно завершен.   -  person Duke Pham    schedule 18.09.2012
comment
Что ж, ложная тревога, я только что попытался выполнить новую синхронизацию, и файлы после синхронизации уже изменили RA (только для чтения) на A (доступно для записи) до начала сборки компонента рабочей среды. Это все равно не удалось, независимо от того, что я сделал с файлом, переключив его между RA и A.   -  person Duke Pham    schedule 18.09.2012
comment
Это настолько странное поведение, что на данный момент я не уверен, в чем причина...   -  person Duke Pham    schedule 18.09.2012


Ответы (1)


До версии 4.2.7 install4j включал JAR-файл.

[install4j installation directory]/lib/jai-imageio.jar

Этот файл JAR содержит древнюю реализацию javax.imageio и остался со времен, когда этот API не был частью JRE (до Java 1.3).

Просто удалите этот файл JAR, и проблема, скорее всего, исчезнет.

person Ingo Kegel    schedule 18.09.2012
comment
Большое спасибо Инго. После удаления jai_imageio.jar я могу запускать свои сборки, и после пары сборок они стабильно работают нормально. Еще раз, я очень ценю вашу помощь. - person Duke Pham; 18.09.2012