An open-source Java IDE and platform for rich client applications

Eclipse for Mac

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Download Eclipse SDK 4.30

Eclipse for Mac

  -  238 MB  -  Freeware
Eclipse for Mac includes tools made to give developers the freedom of choice in a multi-language, multi-platform, and multi-vendor environment. Eclipse for macOS provides a plug-in based framework that makes it easier to create, integrate, and utilize software tools, saving time and money. By collaborating and exploiting core integration technology, tool producers can leverage platform reuse and concentrate on core competencies to create new development technology. The Eclipse Platform is written in the Java language and comes with extensive plug-in construction toolkits and examples. These projects can be conceptually organized into seven different "pillars" or categories:
  • Enterprise Development
  • Embedded and Device Development
  • Rich Client Platform
  • Rich Internet Applications
  • Application Frameworks
  • Application Lifecycle Management (ALM)
  • Service Oriented Architecture (SOA)
Also Available: Download Eclipse for Windows

  • Eclipse SDK 4.30 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

What's new in this version:

New features in the Platform and Equinox:
- p2 Director Application Security To provide similar security controls as available in the IDE, the following command-line arguments are now supported the p2 director application:
- -trustSignedContentOnly | -tsco
- Whether to trust each artifact only if it is jar-signed or PGP-signed.
- -trustedAuthorities | -ta <comma separated list>
- The authorities from which repository content, including repository metadata, is trusted. An empty value will reject all remote connections.
- -trustedPGPKeys | -tk <comma separated list>
- The fingerprints of PGP keys to trust as signers of artifacts. An empty value will reject all PGP keys.
- -trustedCertificates | -tc <comma separated list>
- The SHA-256 'fingerprints' of unanchored certificates to trust as signers of artifacts. An empty value will reject all unanchored certificates.
- -verboseTrust | -vt
- Whether to print detailed information about the content trust.

General Updates:
Support for Jakarta Annotations by Eclipse E4:
- The Eclipse E4 Platform Dependency Injector now supports annotations from the jakarta.inject and jakarta.annotation package
- Plug-in developers are encouraged to migrate their E4 application model element classes to use for example jakarta.inject.Inject instead of javax.inject.Inject or jakarta.annotation.PostConstruct instead of javax.annotation.PostConstruct. At the moment annotations from both namespaces jakarta and javax are supported.
- The support for annotations from the javax.inject and javax.annotation package is now deprecated and will be removed in a future release, after a deprecation period of at least two years. If it necessary to make a Plug-in compatible with past versions (that don't support jakarta annotations), recent and future versions (that don't support javax annotations) of the E4-Injector, it can be considered to apply the annotations from both namespaces simultaneously and to import the packages from both namespaces only optionally. But this strategy does not work for usages of the javax/jakarta.inject.Provider and should generally be used with caution and be verified in detail for more complex setups.
- The Eclipse SDK itself already has been migrated off these annotations from the javax namespace to the jakarta replacements and therefore does not pull the former into a target-platform anymore. If your application still needs these javax annotations you potentially have to add them explicitly to your target using entries like:
- <unit id="jakarta.inject.jakarta.inject-api" version="1.0.5"/>
- <unit id="jakarta.annotation-api" version="1.3.5"/>
- Counterintuitively the javax annotations are provided by a bundle with the same symbolic name as their jakarta successor but with a 1.x version, while the jakarta successors have a 2.x version. It is therefore necessary to specify the version explicitly since those bundles are not required in their latest version.

New Http Client Backend for p2:
- The ECF backend used by p2 has switched to a new JDK-based provider by default. This provider is implemented using the JDK's built-in, significantly reducing the number of third-party library dependencies.
- To ease the transition, Eclipse ships both the newer JDK-based backend as well as older the Apache-based backend. The JDK-based backend takes precedence. If you encounter networking issues when installing or updating, particularly with regard to network access via a proxy, please proceed as follows:
- Collect as much data as possible, e.g. is a proxy being used, are the sites being contacted password protected, what is your operating system, what is your JDK version, what configuration details about your network makes it unique?
- Open an issue here with a description of the problem along with all the relevant details.
- Consider providing a test-case for p2 to ensure that your use-case is covered now and forever into the future.

Configure your eclipse.ini to add the following JVM option to disable the JDK-based backend:
- -Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclientjava

New features for Java developers:
- Java Language Features:

The release notably includes the following Java features:
- JEP 440: Record Patterns
- JEP 441: Pattern Matching for Switch

Java Editor:
Quick Fix to add default case:
- You can use the new Quick Fix (Ctrl+1) to add the missing default case to an enhanced switch statement

Quick Fix to remove default case:
- You can use the new Quick Fix (Ctrl+1) to remove the default case when it is present with unconditional pattern in a switch

Quick Fix to insert break statement:
- You can use the new Quick Fix (Ctrl+1) to insert the break statement when there is an illegal fall-through to a pattern in a switch statement

Cleanup and quick fix to replace deprecated method calls:
A new cleanup has been added to the Source > Clean Up > Source Fixing tab page to replace deprecated method calls with inlined content. Choosing this option will inline the implementation of the deprecated method if and only if:
- The deprecated method has Javadoc that specifies a @deprecated tag which ends with "use {@link ...}" or "replace by {@link ...}"
- The {@link ...} tag refers to a method
- The linked method is actually called in the implementation of the deprecated method
- Methods and fields accessed in the linked method are visible at the location it will be inlined (e.g. using a package private method is ok to call if in same package)

Quick assist to rename constant fields:
- A new quick assist has been added to rename static constant fields to follow a standard syntax using upper-case and underscores rather than camel case. To use: select the constant and click CTRL+1.

JDT Developers:
Pushdown of refactors and proposals to jdt.manipulations:
- A significant amount of code was pushed down from org.eclipse.jdt.ui into org.eclipse.jdt.core.manipulations, specifically most of the proposal and refactor operations. This will allow these operations to be used in a headless environment.

New APIs in the Platform and Equinox:
Platform Changes:
Eclipse Search:
- The bundle has been split into core and ui bundles. This will allow headless extenders to make use of the text search engine.

Snapshot API for Undoable operations:
- The org.eclipse.ui.ide.undo package in the org.eclipse.ui.ide bundle has been migrated into the core platform and is now available in the org.eclipse.core.resources.undo.snapshot package and it's internal counterpart. This has allowed JDT to move significant portions of their refactor and proposal logic into bundles more suited to a headless environment.

New features for plug-in developers:
Support for names of product update repositories:
- The PDE Product Editor now supports in its Updates section to specify the Name of each update repository. In the assembled product the names will be presented to a user in the preferences under Available Software Sites.

Removed support for unnecessary attributes in Features and Products:
The Feature editor has its support for the following attributes of plugin elements removed:
- download-size
- install-size
- unpack
- fragment
- These attributes are unused and without effect for a long time and unnecessarily increase the complexity of the editor and the size of a feature.xml file. They are ignored when present in an existing Feature and removed by the editor upon the next modification through the editor.
- The Product Configuration editor has its support for the following attribute of plugin elements removed: fragment. This attribute is unused and without effect for a long time and unnecessarily increase the size of a .product file. They are ignored when present in an existing Product and removed by the editor upon the next modification through the editor.

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.