Apache Commons Exec – Apache Commons Exec
Apache Commons Exec ™
Last Published: 25 Nov 2025
Version: 1.6.0
ApacheCon
Apache
Commons
Commons Exec
About
Asking Questions
Release History
Issue Tracking
Dependency Management
Sources
Security
License
Code of Conduct
Javadoc
Javadoc Current
Javadoc Archive
Tutorial
Command Line
Wiki
FAQ
Project Documentation
Project Information
About
Summary
Team
Source Code Management
Issue Management
Mailing Lists
Maven Coordinates
Dependency Management
Dependencies
Dependency Convergence
CI Management
Distribution Management
Project Reports
Commons
License
Components
Sandbox
Dormant
General Information
Security
Volunteering
Contributing Patches
Building Components
Commons Parent POM
Commons Build Plugin
Commons Release Plugin
Site Publication
Releasing Components
Wiki
ASF
How the ASF works
Get Involved
Developer Resources
Code of Conduct
Sponsorship
Thanks
Apache Commons Exec
Rationale
Executing external processes from Java is a well-known problem area. It is inherently platform dependent and requires the developer to know and test for platform specific behaviors, for example using cmd.exe on Windows or limited buffer sizes causing deadlocks. The JRE support for this is very limited, albeit better with the Java SE 1.5 ProcessBuilder class.
Reliably executing external processes can also require knowledge of the environment variables before or after the command is executed. In J2SE 1.1-1.4 there is not support for this, since the method,
System.getenv()
, for retrieving environment variables is deprecated.
There are currently several different libraries that for their own purposes have implemented frameworks around
Runtime.exec()
to handle the various issues outlined above. The proposed project should aim at coordinating and learning from these initiatives to create and maintain a simple, reusable and well-tested package. Since some of the more problematic platforms are not readily available, it is our hope that the broad Apache community can be a great help.
Scope of the package
The package shall create and maintain a process execution package written in the Java language to be distributed under the ASF license. The Java code might also be complemented with scripts (e.g. Perl scripts) to fully enable execution on some operating systems. The package should aim for supporting a wide range of operating systems while still having a consistent API for all platforms.
Releases
Version 1.4.0 requires Java 8 or above.
Version 1.3 is JDK 1.5 compatible.
Version 1.2 is JDK 1.3 compatible.
Version 1.1 is JDK 1.3 compatible.
See the
Apache Archive
Copyright © 2005-2025
The Apache Software Foundation
Apache Commons, Apache Commons Exec, Apache, the Apache logo, and the Apache Commons project logos are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.
US