Migrating to install4j 8
In nearly all cases, migrating to install4j 8 usually just involves opening and saving your project with the install4j 8 IDE. Nevertheless, there are some considerations with respect to backward compatibility and some behavioral changes.
-
The unattended installer does not ignore file installation failures anymore but fails at the first file installation
failure. To get the old behavior, start the installer with the
-nofilefailuresargument. To permanently set this mode, add-Dinstall4j.noFileFailures=trueto the "VM parameters" property of the installer. -
When using the VM parameters
-Dinstall4j.alternativeLogFile=<path>and its new alias-Dinstallj4.log=<path>
now imply-Dinstall4j.keepLog=true, meaning that the log file is no longer deleted in case of a successful execution of the installer application. -
The default file name of the error log for Windows installers has changed from
error.logto${compiler:sys.mediaFileName}_error.log. You can restore the old file name with the new "Log file for stderr" property of the installer. -
In bean properties with an array type, installer variables with collection values are expanded as separate array
elements. Previously this was only implemented if the installer variables had array values. In the API, this new
behavior affects the
AbstractBean.replaceVariables(...)methods with array parameters. If you rely on thetoString()replacement of collections, you have to change the types of the related installer variables. -
Variable names for all built-in variable systems can no longer contain the character sequence
?:which is now used for specifying default values for missing variables. FormEnvironment.getId(...)now returns the display ID of the form component rather than the automatic ID. If you were checking for an explicit automatic ID and also defined a custom ID for a form component, that code will now fail.- The "Read text from file" action will now fail if an error occurred. Previously it always succeeded.
-
The compiler variable
sys.platformnow contains the valuewindows-x32for 32-bit Windows media files instead ofwindows. For 64-bit Windows media files it remainswindows-x64. - The "Customize project defaults->Installer custom script" step of the Unix/Linux GUI installer media wizard has been removed. The custom script is now configured on the installer in the "Installer->Screens & Actions" step. The simple case where there is only one Unix/Linux GUI installer is migrated correctly. However, if you used different customizations for different Unix/Linux GUI installers, the migration will be incomplete and you have to solve it with compiler variables.
-
For Linux/Unix installers, the umask is now set to 0022 to allow execution by all users. This can be changed by setting
the compiler variable
sys.ext.installerUmaskto another mask value or tofalseto prevent executing anyumaskcommand in the installer script.
아카이브
11월/1
9월/3
2025/20
HotSpot의 반격: JEP 544, GraalVM 시작 성능 독점의 끝인가?SBOM이 15개월 후 의무화됩니다. 당신의 SBOM은 아마 잘못되어 있을 것입니다.Apache Fory JSON을 4.5배 더 빠르게 만든 방법
8월/3
Java vs. Kotlin: 누가 (역)직렬화를 더 빠르게 할 수 있을까?Apache Fory는 왜 그렇게 빠른가? Java 직렬화 프레임워크 5종 프로파일링jvmguard 소개: 자동 프로덕션 프로파일링
7월/2
4월/3
JProfiler MCP로 jclasslib 성능을 두 배로 개선한 방법Claude가 코드를 읽고서는 절대 찾을 수 없었던 핫스팟JProfiler 16.1: 이제 AI 에이전트가 Java 애플리케이션을 프로파일링할 수 있습니다
3월/2
2월/1
10월/1
8월/1
7월/2
2024/5
2023/7
The power of async tracking in JVM profilingWebsite refresh: Visual updates, dark mode, and semantic search for docs
6월/4
All our artifacts are now published on Maven CentralJEP 493 follow-up: install4j 11.0.4 is ready for separate JMOD bundles in Eclipse Temurin 24.0.2JProfiler tips roundup May 2025JVM performance watch roundup May 2025
5월/3
JProfiler tips roundup April 2025JVM performance watch roundup April 2025Heap Walker scripting for snapshot analysis
4월/8
Capturing and comparing MBean states with JProfilerAdvanced SSH remote profiling with JProfilerProfiling Java applications in VS Code with JProfilerAdvanced Kafka probe configuration in JProfilerProfiling Kafka #1 – Message Flow & Hot SpotsBringing JProfiler to VS Code with Kotlin Multi-PlatformCaching auto-provisioned install4j distributions in CI pipelinesCross-platform JRE bundle creation under threat from JEP 493
1월/1
9월/5
2022/10
Garbage collector analysis in JProfilerRecording JFR snapshots with JProfilerEnhanced JFR snapshot analysis with JProfilerWorking with probe events in JProfilerCustomizing telemetries in JProfiler
3월/1
1월/1
12월/2
11월/3
2021/2
2020/1
2019/1
2018/3
2017/5
2016/1
2015/10
Using sunburst diagrams for understanding Java memory consumptionUsing flame graphs when profiling Java applicationsProfiling a Netty server
10월/1
9월/1
8월/2
7월/1
11월/5
2014/3
2013/3
2012/5
2011/13
Analyzing specific parts of the call treeAnalyzing incoming and outgoing calls of a methodCollapsing recursions in the call treeRemote profiling through an SSH tunnelFinding JDBC connection leaks
6월/5
12월/1
10월/2
9월/5
2010/8
2009/14
Using the "Run interceptor script" trigger actionCreating a custom probeInspections in the heap walkerHeap walker graph: Finding paths between selected instancesFiltering in the reference view of the heap walker
8월/4
Request trackingAnalyzing long-running AWT events with JProfilerProbes overviewCPU profiling: Sampling and instrumentation
2월/1