# Install launch4j with Homebrew, MacPorts

Cross-platform Java executable wrapper. Version 3.50 via Homebrew; verified from local package data. Also installable with macports: sudo port install launch4j.

## Install

```sh
sudo av install brew:launch4j
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install launch4j
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install launch4j
```

  Evidence: MacPorts ports tree: java/launch4j/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:launch4j
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/launch4j>
- **Version:** 3.50
- **Source summary:** Cross-platform Java executable wrapper
- **Homepage:** <https://launch4j.sourceforge.net/>
- **Repository:** <https://sourceforge.net/p/launch4j/git/ci/master/tree>
- **Upstream docs:** <https://launch4j.sourceforge.net/docs.html>
- **License:** BSD-3-Clause AND MIT
- **Source archive:** <https://git.code.sf.net/p/launch4j/git.git>
- **Generated:** 2026-07-25T07:20:51+00:00

## Executables

- launch4j (cli)
- launch4j (alias)

## Dependencies

- openjdk

## Build dependencies

- ant

## Install behavior

- Post-install hook: not defined
- Bottle: available on big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-25
- Package-manager version: 3.50
- Local data: ok
- Upstream repository: https://launch4j.sourceforge.net/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Launch4j is a cross-platform build utility for wrapping Java applications in lightweight Windows native executables. It combines a GUI, command-line usage, Ant integration, Maven-oriented packaging, JRE discovery, version metadata, splash screens, manifests, and optional bundled-runtime behavior.

### Project history

The SourceForge project was registered on 2003-11-27 and is maintained under Grzegorz Kowal's SourceForge account. Its changelog shows a long-lived Java desktop tooling project: the 1.x line was active by 2004, version 2.0 beta1 on 2005-05-13 introduced a new cross-platform wrapper and XML configuration, and version 3.0.0 on 2008-03-16 added runtime and Windows integration improvements.

Later releases tracked Java and Windows ecosystem changes. Version 3.8 on 2015-05-09 Mavenized the project; version 3.11 on 2017-06-27 added basic Java 9 support and Linux 64-bit binaries; version 3.14 on 2021-03-07 switched to Java 1.8 and FlatLaf; version 3.50 on 2022-11-13 simplified runtime-search configuration.

### Adoption history

Launch4j became a standard answer for Java developers who wanted a Windows .exe without abandoning cross-platform build machines. SourceForge lists operating-system support across Linux, Mac, Solaris, Windows, BSD, and ChromeOS for the tool itself, while noting that the wrapped program runs on Windows.

Homebrew and MacPorts packaging placed Launch4j into Unix-like developer workflows, especially for developers building Windows deliverables from macOS or Linux.

### How it is used

A developer supplies a Launch4j XML configuration describing the jar or class entry point, icon, JRE constraints, command-line behavior, version information, and other wrapper settings. Launch4j then emits a Windows executable while the build can run from Windows, Linux, or macOS.

### Why package nerds care

Launch4j is package-nerd-significant because it is a bridge artifact: a Java program packaged on Unix-like systems whose main output is a Windows executable wrapper. It exercises packaging assumptions around GUI tools, command-line tools, Ant/Maven integration, MinGW-built headers, bundled runtimes, and platform-specific outputs.

### Timeline

- 2003: SourceForge project registered on 2003-11-27.
- 2004: Changelog includes version 1.3.1 dated 2004-11-05.
- 2005: Version 2.0 beta1 introduced a cross-platform wrapper and XML configuration.
- 2008: Version 3.0.0 added dynamic heap values and Windows integration fixes.
- 2015: Version 3.8 Mavenized Launch4j.
- 2017: Version 3.11 added basic Java 9 support and Linux 64-bit binaries.
- 2021: Version 3.14 switched dependencies to Java 1.8 and FlatLaf.
- 2022: Version 3.50 changed runtime path-search behavior.

### Related projects

- Related technologies include Java, Windows PE executables, MinGW, Ant, Maven, Sign4j, bundled JRE workflows, and platform-specific Java launchers.

### Sources

- <https://formulae.brew.sh/formula/launch4j>
- <https://launch4j.sourceforge.net/>
- <https://launch4j.sourceforge.net/changelog.html>
- <https://launch4j.sourceforge.net/docs.html>
- <https://sourceforge.net/p/launch4j/git/ci/master/tree/>
- <https://sourceforge.net/projects/launch4j/>


## Security Notes

No matching local secret-handling manifest was found for launch4j. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** launch4j
- **Version Scheme:** 0
- **Revision:** 0
- **Requirements:** arch, macos
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- MacPorts - launch4j: normalized package name match | MacPorts ports tree: java/launch4j/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [ant](https://www.automicvault.com/pkg/brew/ant/) - Build dependency declared by Homebrew.
- [jslint4java](https://www.automicvault.com/pkg/brew/jslint4java/) - Shares av.db curated category or tags: cli, developer-tools, java, wrapper.
- [maven](https://www.automicvault.com/pkg/brew/maven/) - Shares av.db curated category or tags: build-tool, cli, developer-tools, java.
- [maven-shell](https://www.automicvault.com/pkg/brew/maven-shell/) - Shares av.db curated category or tags: build-tool, cli, developer-tools, java.
- [mill](https://www.automicvault.com/pkg/brew/mill/) - Shares av.db curated category or tags: build-tool, cli, developer-tools, java.
- [mx](https://www.automicvault.com/pkg/brew/mx/) - Shares av.db curated category or tags: build-tool, cli, developer-tools, java.
- [alloy-analyzer](https://www.automicvault.com/pkg/brew/alloy-analyzer/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [amdatu-bootstrap](https://www.automicvault.com/pkg/brew/amdatu-bootstrap/) - Shares av.db curated category or tags: cli, developer-tools, java.
- [jasmin](https://www.automicvault.com/pkg/brew/jasmin/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, java, openjdk.
- [makensis](https://www.automicvault.com/pkg/brew/makensis/) - Local metadata places this package in an adjacent workflow. Shared terms: build, build-tool, cli, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/launch4j.yml](https://github.com/automic-vault/db/blob/main/combined/launch4j.yml)


## Sources

- Nucleus package database
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
