JDeveloper
Oracle JDeveloper is a free integrated development environment (IDE) provided by Oracle Corporation, designed to simplify the creation of Java-based applications, especially those integrated with Oracle's middleware and database technologies.[1] It encompasses the full application development lifecycle, offering tools for modeling, coding, debugging, testing, profiling, tuning, and deployment across various platforms including Windows, Linux, macOS, and UNIX-based systems.[2] Available in two editions—Studio Edition for comprehensive features and Java Edition for essential Java and XML development—JDeveloper emphasizes visual and declarative approaches to accelerate productivity.[2] JDeveloper supports a broad spectrum of technologies and standards, including Java, XML, SQL, PL/SQL, HTML, JavaScript, web services, service-oriented architecture (SOA), and Oracle WebCenter Portal.[2] It integrates Oracle Application Development Framework (ADF) for building enterprise applications with drag-and-drop interfaces and includes an embedded Oracle WebLogic Server for local testing and simulation.[1] Additionally, its extensibility allows developers to customize the environment through plugins and supports version control systems like Subversion for collaborative development.[2] First released in March 1998 as version 1.0,[3] JDeveloper originated from licensed code of Borland's JBuilder[4] and has since been fully rewritten in Java by Oracle. Significant milestones include the introduction of Business Components for Java (BC4J) in JDeveloper 2.0 in April 1999, becoming fully usable in version 3.0 in November 1999, the addition of the ADF framework in version 9.0.5 in April 2004, and major releases such as 11g in October 2008 and 12c (12.2.1.0.0) in October 2015.[3] The most recent version, 14.1.2.0, was released in December 2024, continuing Oracle's focus on modern Java EE, cloud integration, and enhanced ADF capabilities.[3]Introduction
Overview
Oracle JDeveloper is a free integrated development environment (IDE) for building Java-based applications, supporting the complete application lifecycle from design through deployment.[1] Developed by Oracle, it serves as the primary development platform for the Oracle Fusion Middleware suite, streamlining the creation of enterprise-level applications within Oracle's ecosystem.[5] The tool enables developers to create web, mobile, and desktop applications using technologies such as Java, JavaScript, HTML5, and Oracle-specific frameworks like the Application Development Framework (ADF).[6] It also supports standards including XML, SQL, PL/SQL, and web services, facilitating the integration of service-oriented architectures in enterprise environments.[6] JDeveloper provides end-to-end tools for modeling, coding, debugging, testing, profiling, tuning, and deployment, enhancing productivity across diverse development needs.[7] Its cross-platform compatibility on Windows, Linux, macOS, and UNIX systems further broadens its applicability for professional Java development.[5]Editions
JDeveloper is available in two primary editions: the Studio Edition and the Java Edition, each tailored to different development needs.[8] The Studio Edition is the full-featured version of JDeveloper, providing comprehensive tools for developing Java EE applications, Oracle Application Development Framework (ADF), Service-Oriented Architecture (SOA), and Oracle Fusion Middleware components. It includes support for modeling, web and mobile application development, and database integration, making it suitable for enterprise-level projects requiring Oracle-specific technologies. This edition is recommended for developers working on complex, integrated Oracle environments.[8] In contrast, the Java Edition is a lightweight variant focused on core Java and XML development, excluding Oracle-proprietary tools such as ADF, J2EE extensions, modeling capabilities, web and mobile designers, and database tools. It emphasizes standard Java projects without proprietary extensions, offering improved performance and a smaller download size for users who do not require Oracle integrations. This edition targets general Java programmers seeking a streamlined IDE for basic development tasks.[8] The key differences between the editions lie in their scope: the Studio Edition supports visual designers and deep Oracle ecosystem integrations, while the Java Edition prioritizes efficiency for non-Oracle Java workflows. Both editions are provided free of charge under Oracle's developer license.[8]History
Origins and Early Development
Oracle JDeveloper originated from Oracle Corporation's internal efforts to create a comprehensive integrated development environment (IDE) for Java-based applications, particularly targeting database and web development in enterprise settings. In the mid-1990s, Oracle initiated Project Sedona, an internal research initiative exploring component-based development using technologies such as C++, CORBA, Oracle8, and Java, which laid the groundwork for future tools. By 1997, this evolved into the development of the Java Business Objects (JBO) framework, later renamed Business Components for Java (BC4J), aimed at simplifying business logic implementation. JDeveloper 1.0 was officially launched in March 1998, initially based on a licensed codebase from Borland's JBuilder, marking Oracle's strategic push to capitalize on Java's emerging role in enterprise software amid the need for integrated tools beyond its earlier PL/SQL-focused offerings like Developer/2000.[3][4] Early development of JDeveloper focused on enhancing support for Oracle's ecosystem while addressing Java's complexities in business applications. A maintenance release, JDeveloper 1.1, followed in September 1998. In April 1999, version 2.0 introduced a metadata-driven database access layer and the initial BC4J framework, enabling developers to build data-centric applications without extensive Java coding. This was further advanced in November 1999 with JDeveloper 3.0, which provided full BC4J capabilities, including customizable Java components, and improved web application development tools, reflecting Oracle's emphasis on rapid prototyping for enterprise web services. The IDE's codebase, still rooted in Borland technology, continued to evolve, with JDeveloper 3.2.3 in May 2001 serving as the final release using that foundation before Oracle rewrote it internally.[3] By the early 2000s, JDeveloper had matured into a more robust platform, with versions in the 9.0.x series introducing key enhancements for modern web and modeling needs. Released in May 2002, JDeveloper 9.0.2 featured a new IDE shell for better usability and performance. The October 2002 JDeveloper 9.0.3 added support for the Struts framework, advanced tag libraries, and visual UML modeling tools, facilitating object-oriented design in Java projects. In April 2004, JDeveloper 9.0.5 marked a pivotal shift by introducing the Application Development Framework (ADF), rebranding BC4J as ADF Business Components, and providing visual editors for JavaServer Pages (JSP) and User Interface XML (UIX), which streamlined declarative UI development. These updates positioned JDeveloper as a cornerstone for Oracle's Java enterprise strategy up to the mid-2000s.[3]Major Releases
Oracle JDeveloper's major releases from the 10g era onward have focused on enhancing support for enterprise Java development, particularly through deeper integration with the Oracle Application Development Framework (ADF) and alignment with evolving standards in Java EE and cloud technologies. The 10g series began with version 10.1.2 in January 2005, primarily serving as a maintenance release that stabilized core IDE functionalities and introduced minor improvements for J2EE 1.4 compliance, including better Web services support via JAX-RPC.[9] This was followed by 10.1.3 in January 2006, which marked the first production release providing full runtime and design-time support for ADF 10g, enabling comprehensive model-view-controller development for Java EE applications, along with enhanced tools for SOA and BPEL processes.[3] The transition to 11g came with version 11.1.1 in October 2008, integrating ADF 11g as part of Oracle Fusion Middleware, which introduced advanced features like declarative data binding, task flows for modular application assembly, and support for Java EE 5 standards including EJB 3.0 and JSF 1.2.[10] This release emphasized productivity gains through visual development tools and seamless integration with WebLogic Server, laying the groundwork for enterprise-scale applications within the Fusion stack. Subsequent maintenance updates, such as 11.1.1.1 in July 2009, further stabilized these capabilities with additions for BPEL and WebCenter services.[3] In the 12c era, JDeveloper 12.1.2 was released in July 2013, bringing ADF 12c enhancements that supported Java EE 6, JSF 2.0 with Facelets and Ajax, and new ADF Faces components like PanelGridLayout for responsive designs, while introducing Oracle Public Cloud readiness for deployment and Database Cloud Service integration.[11] Version 12.2.1 followed in October 2015, advancing mobile and cloud capabilities with the Alta skin for modern UI/UX, responsive templates using af:matchMediaBehavior, RESTful services in ADF Business Components, and direct deployment to Oracle Java Cloud Service, alongside Java SE 8 support and improved Git/Maven tooling.[12] The latest major release, 14.1.2 in December 2024, introduces ADF 14 support for updated Java standards including Java 17 and 21 as long-term support versions, along with modern UI/UX improvements such as enhanced cloud database connections for Autonomous Transaction Processing and better transition tools for cloud-native development.[13][14] Overall, these releases reflect a progression toward cloud-native architectures, full Java EE compliance, and tighter Oracle Cloud integration, enabling developers to build scalable, responsive applications with reduced complexity.[3]Architecture
Core Components
JDeveloper's architecture is built upon a modular core IDE platform that provides a unified environment for application development, emphasizing extensibility and customization to support diverse technologies within the Oracle Fusion Middleware ecosystem. This foundation enables developers to manage complex projects efficiently through a consistent interface that integrates editing, navigation, and configuration tools. The platform is designed to be cross-platform, running on Windows, Linux, Mac OS X, and other UNIX-based systems, ensuring broad accessibility for enterprise-level Java and related development tasks.[5] The IDE shell serves as the central framework, comprising customizable windows, editors, and navigators that facilitate project management and code organization. Developers can tailor the interface by enabling or disabling features, creating a personalized workspace that aligns with specific development needs, such as Java coding, XML editing, or SQL querying. This shell, introduced in version 9.0.2, underpins the entire toolset and supports a rich set of interactions, including drag-and-drop operations and context-aware menus, to streamline workflows without requiring external plugins for basic functionality.[3][15] Runtime environments in JDeveloper include an integrated Oracle WebLogic Server, which allows for local testing and debugging of applications in a lightweight, standalone configuration before production deployment. This bundled server simulates real-world conditions, enabling rapid iteration on Java EE, SOA, and ADF-based applications directly within the IDE. Additionally, JDeveloper supports connections to external servers, such as full Oracle WebLogic Server instances, for more robust testing and integration with enterprise infrastructure, ensuring compatibility with scalable deployment scenarios.[5][16] The project structure organizes development artifacts hierarchically into workspaces, projects, and modules to manage code, resources, and dependencies effectively. A workspace represents an entire application, containing one or more projects that house source files, libraries, and configurations; for example, a typical Fusion Web Application template creates a workspace with a Model project for data access and a ViewController project for user interfaces. Modules, in turn, aggregate related projects into deployable units, such as Enterprise Archive (EAR) files, allowing for modular builds and targeted deployments while maintaining clear separation of concerns like business logic and presentation layers.[17][18][19] JDeveloper's extension architecture leverages the JDeveloper Extension SDK, a public API that enables the creation and integration of third-party plugins to enhance the IDE's capabilities. This system allows developers to add custom tools, such as specialized editors or audit frameworks, by building on sample projects provided in the SDK, which include Javadoc documentation and one-click deployment options. Extensions can be downloaded and installed via the IDE's Check for Updates feature or manually, fostering an ecosystem where internal teams or partners extend functionality for domain-specific needs without altering the core platform.[20]Integrated Tools
Oracle JDeveloper integrates a comprehensive suite of tools that support developers throughout the application lifecycle, from design to optimization, with seamless interoperability between components to streamline workflows. These tools are built directly into the IDE, allowing users to model, edit, manage versions, and profile applications without switching environments, thereby enhancing productivity and reducing errors in Java-based development.[2] The modeling tools in JDeveloper enable visual representation and design of application structures and databases. UML diagramming supports six standard diagram types, including activity diagrams for modeling coordinated actions like business processes, class diagrams for defining classes, attributes, operations, and relationships, sequence diagrams for event sequences between objects, and use case diagrams for system functionality with actors and communications. These diagrams can be created via the New Gallery wizard and edited using the diagram editor, Components window, and Properties window, with features like automatic layout and export to HTML for documentation. Entity-relationship modeling is facilitated through database diagrams, which allow offline and online modeling of tables, views, foreign keys, and sequences; users can transform these models to UML classes or generate database objects, aiding in database design and schema evolution.[21] Code editing capabilities are enhanced by a robust source editor that provides essential features for Java, XML, and SQL development. Syntax highlighting uses customizable colors and font styles to distinguish code elements, configurable via Tools > Preferences > Code Editor > Syntax Colors, improving readability across file types. Auto-completion, known as Completion Insight, suggests method names, parameters, and statements using shortcuts like Ctrl+Space for lists, Ctrl+Shift+Space for parameter details, and Ctrl+Shift+Enter for full statement completion, including automatic semicolon addition. Refactoring tools support restructuring code without changing behavior, such as renaming variables or methods with automated updates across files, accessible via Code Assist (Ctrl+Alt+Enter) for quick fixes and suggestions directly in the editor margin. These features interconnect with modeling tools, allowing generated code from diagrams to be edited and refactored seamlessly.[22] Version control integration is embedded to facilitate collaborative development, supporting Git, Subversion (SVN), and other systems via extensions directly from the Team menu. For Git, developers can clone repositories, commit changes (single files or all via Team > Git > Commit), create branches (Team > Git > Create Branch), and stash modifications for temporary storage. SVN provides check-out (Team > Subversion > Check Out for local working copies), commit operations with change sets, and branching/tagging (Team > Branch/Tag). These systems enable branching for parallel development, merging conflicts, and history tracking, with JDeveloper's interface allowing version operations to interact with code editors and modeling views for context-aware updates.[23] Profiling and tuning tools provide performance analysis to identify bottlenecks in Java applications, focusing on memory, CPU, and SQL-related optimizations. The CPU profiler measures method execution times, invocation counts, and hot spots through call trees and delta values, helping pinpoint inefficient code paths. Memory profiling tracks object allocation sizes, counts, and garbage collection via the Objects view, with filters for project-specific classes and allocation path tracing to detect leaks. SQL optimization integrates with these analyzers by monitoring query performance within Java execution, allowing tuning of database interactions for reduced latency. Telemetry and thread profiling complement these by capturing real-time data on CPU usage, thread activity, locks, and loaded classes, enabling developers to take snapshots during runs and apply optimizations directly in the IDE, often linking back to code editors for immediate refactoring.[24]Features
Development Features
JDeveloper offers comprehensive debugging tools designed to enhance developer productivity in Java application development. The integrated debugger supports step-through execution, allowing developers to trace code line by line, set conditional and unconditional breakpoints on executable statements, and inspect variables, call stacks, and expressions in real-time during runtime.[25] This debugger is applicable to a wide range of Java components, including applications, servlets, JavaServer Pages (JSPs), and Enterprise JavaBeans (EJBs). Note that applet support is deprecated following Java 11.[25] Additionally, remote debugging capabilities enable troubleshooting of code running on separate machines or virtual machines by establishing a connection between the JDeveloper instance and the debuggee process, facilitating distributed development scenarios.[25] For testing, JDeveloper provides native integration with the JUnit framework, streamlining the creation and execution of unit tests through configuration in project properties or Maven settings for generating test cases, fixtures, and suites.[26] Developers can run tests directly within the IDE, view results in an integrated console, and leverage support for automated testing frameworks to ensure code reliability across iterations.[26] Code coverage analysis is achievable via integration with external tools such as JaCoCo, which can be incorporated into JUnit runs or build scripts to measure test thoroughness.[26] Refactoring and code navigation features further boost efficiency by enabling safe structural changes without altering program behavior. JDeveloper includes advanced refactoring operations like rename (for variables, methods, and classes across files), extract method (to modularize code segments), and move (for relocating elements while updating references).[27] Navigation tools, such as the Structure pane for hierarchical code views, Quick Outline for jumping to methods and fields, and code insight for context-aware completions and go-to-declaration, facilitate rapid orientation and maintenance in large codebases.[27] These capabilities are particularly valuable for imperative Java coding, complementing JDeveloper's declarative alternatives for UI development in a single workflow. JDeveloper 14.1.2 supports JDK 17 for these Java development features.[13] Build automation in JDeveloper supports seamless integration with Apache Ant and Maven, allowing developers to define scripts for compiling, packaging, and deploying projects directly from the IDE.[26] Ant integration enables custom build targets with visual editing support, while Maven support includes pom.xml management, dependency resolution, and execution of lifecycle phases like clean, compile, and install.[26] This setup facilitates continuous integration by exporting builds to CI servers, ensuring consistent automation across development environments.[26]Visual and Declarative Development
Oracle JDeveloper emphasizes visual and declarative development paradigms, enabling developers to build applications with minimal manual coding through integrated tools that leverage the Oracle Application Development Framework (ADF). This approach streamlines the creation of user interfaces and business logic by providing drag-and-drop interfaces and configuration-driven mechanisms, particularly for JavaServer Faces (JSF) pages and ADF-based components. In version 14.1.2, visual editors require the JavaFX extension, available via Help > Check for Updates.[28][13] Visual designers in JDeveloper include drag-and-drop editors for constructing JSF pages (with JavaFX extension), where developers can select components from the Component Palette—such as input text fields, command buttons, and output text—and place them directly onto the visual editor canvas. This process generates the underlying JSF code automatically while allowing real-time preview and property adjustments via the Property Inspector. Similarly, editors for ADF task flows support diagrammatic layout of application components, facilitating intuitive design without deep dives into code.[28] Declarative development is central to JDeveloper's ADF integration, which enforces a model-view-controller (MVC) pattern where the model handles data access, the view manages UI rendering, and the controller orchestrates navigation and actions. Configurations for components and validations are primarily XML-based, with files likePageDef.xml defining binding metadata, executables, and validation rules—such as applying or skipping validations on specific UI elements—without requiring procedural code. These XML files, editable through JDeveloper's Structure window and properties tools, ensure runtime behavior is declaratively specified and synchronized with visual edits.[29]
Page flow modeling in JDeveloper utilizes a diagram-based task flow editor, where developers visually represent application navigation as a graph of activities, including view activities (linked to JSF pages or fragments), method calls, and control flow cases. By dragging elements onto the diagram and connecting them with transitions, users define modular navigation paths that support reuse and encapsulation, with the editor automatically updating the underlying XML configuration.[30]
Data binding is achieved through visual wizards and the Data Controls panel, allowing developers to connect UI components to backend sources like databases (via ADF Business Components), web services, or Enterprise JavaBeans (EJB) without writing binding code. Dragging attributes from a data control onto a JSF page prompts a wizard to generate appropriate UI elements—such as tables or forms—and corresponding binding definitions in XML files, ensuring seamless data flow and synchronization at runtime.[31]
Supported Technologies
Java and Web Technologies
JDeveloper offers robust support for Java development through seamless integration with the Java Development Kit (JDK), allowing developers to build and compile applications using the latest stable releases. The current version, 14.1.2, fully supports JDK 17 and JDK 21, long-term support releases that include advanced language features such as records, sealed classes, and pattern matching, with the IDE's code editor updated to provide syntax highlighting and completion for these elements.[13] Earlier versions, such as 12.2.1.4, were certified with JDK 8, demonstrating the IDE's evolution to keep pace with Java's maturation.[32] This integration extends to enterprise-level development, where JDeveloper facilitates the creation of Java EE and Jakarta EE applications, including support for Jakarta EE 8 compatibility in runtime environments like WebLogic Server 14.1.2, enabling scalable, standards-based enterprise solutions with features like EJBs, JPA, and servlet-based web tiers.[13] For web technologies, JDeveloper provides dedicated editors and tools for HTML5, CSS3, and JavaScript, streamlining the development of responsive and interactive front-end components. Introduced in version 12.1.2, these editors include syntax validation, auto-completion, and preview capabilities for HTML5 elements and CSS3 properties, such as flexbox and animations, while basic JavaScript support encompasses drag-and-drop editing and debugging within HTML and JSP pages.[11][33] The IDE also accommodates popular open-source frameworks like Spring and Hibernate via extensions and library configuration; for instance, the Spring Extension adds wizards for XML configuration files and integrates Spring JARs as project libraries, supporting dependency injection and aspect-oriented programming in Java applications.[34] Hibernate integration is similarly enabled through manual addition of its libraries and JPA annotations, allowing object-relational mapping without native wizards but with full compatibility for persistence in enterprise projects. Additionally, JDeveloper supports the development of RESTful web services adhering to JAX-RS standards, with wizards for generating resource classes, endpoints, and clients to handle HTTP-based APIs efficiently.[35] In the realm of mobile development, JDeveloper equips developers with tools for building hybrid applications that leverage web technologies on mobile platforms, supporting standard Apache Cordova for cross-platform compatibility. This approach enables offline-capable apps with real-time synchronization, tested on iOS and Android through JDeveloper's deployment wizards. Database tools in JDeveloper enhance Java and web application development by providing the SQL Worksheet for interactive query execution, schema object creation, and DDL management, which supports any database schema via SQL statements with syntax assistance for common operations.[36] JDBC connectivity is natively supported for a range of databases, including Oracle, MySQL, SQL Server, and PostgreSQL, through configurable connections that allow browsing objects, testing queries, and integrating data sources directly into Java projects without external tools.[37] Recent updates, such as in version 14.1.2, introduce cloud-specific JDBC options for Oracle Cloud databases using wallet-based authentication, ensuring secure and direct access for modern cloud-native applications.[13]Oracle-Specific Frameworks
JDeveloper provides deep integration with Oracle's proprietary frameworks, enabling developers to build enterprise-grade applications using model-driven approaches tailored to Oracle's ecosystem. These integrations leverage JDeveloper's visual tools and wizards to streamline development for Fusion Applications, service-oriented architectures, and cloud-native deployments.[38] Oracle ADF (Application Development Framework) is central to JDeveloper's support for model-driven development, allowing declarative creation of business services and user interfaces for Fusion Applications. Through ADF Business Components, developers use JDeveloper's wizards and visual editors to define entities, views, and application modules that enforce business rules and generate metadata without manual Java coding, exposing them as reusable services.[38] Data controls in JDeveloper abstract these services, enabling drag-and-drop integration into UI components via XML-based bindings that support bidirectional data flow.[38] For user interface customization, JDeveloper incorporates the ADF Skin Editor to design and apply skins that modify the appearance of ADF Faces components, ensuring consistent branding across applications.[38] In the realm of service-oriented architecture, JDeveloper serves as the integrated development environment for Oracle SOA Suite, facilitating the creation and orchestration of composite applications. The SOA Composite Editor in JDeveloper supports both top-down and bottom-up design methodologies, allowing developers to assemble binding components like web services and JCA adapters with service components.[39] Key tools include the BPEL Designer for visually modeling BPEL processes that handle orchestration and fault management, the Mediator Editor for routing messages between services, and support for adapters that connect to external systems such as databases or legacy applications.[39] These features enable comprehensive testing, debugging, and deployment of SOA composites directly from JDeveloper.[39] JDeveloper extends its capabilities to Oracle Cloud environments, providing end-to-end development support for applications targeting Oracle Cloud Infrastructure (OCI) and related services. It includes wizards and configurations for integrating with OCI resources, such as deploying applications to cloud-based WebLogic instances and leveraging OCI services for scalability and security.[40] While Oracle APEX and Visual Builder offer specialized low-code tools, JDeveloper complements them by enabling hybrid developments that incorporate custom Java logic and OCI APIs into cloud workflows.[1] For Fusion Middleware deployments, JDeveloper offers specialized wizards to configure and deploy applications to Oracle WebLogic Server, the primary runtime for these frameworks. The Create Deployment Profile Wizard generates EAR, WAR, or JAR archives tailored for WebLogic, including metadata for the Metadata Services (MDS) repository to manage customizations.[41] Security configurations are handled through integrated tools that set up authentication, authorization policies, and JDBC data sources, with options to migrate credentials and roles during deployment to ensure compliance with Oracle's security model.[41] These wizards streamline the process from local testing on the integrated WebLogic Server to production deployment on Fusion Middleware domains.[41]Deployment and Integration
Deployment Options
JDeveloper provides robust packaging capabilities for applications developed within its IDE, enabling developers to create standard archive formats suitable for various deployment environments. Applications can be packaged as Web Application Archive (WAR) files, which bundle web components such as servlets, JavaServer Pages (JSP), JavaServer Faces (JSF), and ADF Faces elements, or as Enterprise Archive (EAR) files that aggregate multiple WAR files, Enterprise JavaBeans (EJB) JARs, and client JARs into a cohesive unit. These deployment profiles are configured through the IDE's Deployment wizard, where developers select the profile type and specify contributors like project outputs and libraries. Additionally, JAR files are used for shared libraries or standalone Java clients, while Metadata Archive (MAR) files handle customizations for the Metadata Services (MDS) repository. Other formats include GAR for Coherence, RAR for resource adapters, and OSGi bundles.[19] For local deployment, JDeveloper integrates with bundled application servers to facilitate rapid testing and iteration. The IDE includes an integrated Oracle WebLogic Server, allowing one-click deployment of applications in an "exploded EAR" format for optimal performance during development. This process involves right-clicking the project in the Applications window, selecting Run or Debug, and targeting the integrated server without needing a formal deployment profile initially. The integrated WebLogic Server in version 14.1.2 supports JDK 17. JDeveloper also supports deployment to other local servers such as GlassFish, configured via application server connections that specify host, port, and authentication details. Deployment to these servers can be achieved by selecting a deployment profile and choosing the target connection, resulting in the application being installed and started automatically.[19] Cloud deployment options in JDeveloper emphasize seamless integration with Oracle's cloud platforms, particularly Oracle Cloud Infrastructure (OCI) through services like Oracle WebLogic Server for OCI. Developers establish an application server connection using OCI credentials, including data center details, identity domain, and service instance name, then deploy via the IDE's right-click menu on the deployment profile. This enables one-click publishing of packaged applications (e.g., EAR files) to OCI-managed WebLogic domains, with support for auto-scaling configurations defined in the cloud service instance. The deployment log provides URLs for accessing the application post-upload, ensuring quick validation in the cloud environment.[19][42] To support efficient testing during deployment, JDeveloper incorporates hot-deploy features that allow iterative updates without full rebuilds or server restarts. When running on the integrated WebLogic Server, modifications to application code trigger automatic redeployment upon rerunning the project, updating the server instance in real-time. The Deployment Log window displays status messages, including success indicators and access URLs, while the Terminate button enables clean shutdowns. This capability extends to target servers like GlassFish, where hot-swap updates can be applied via the IDE's debug mode for enhanced development workflows.[19]Integration with Oracle Products
JDeveloper provides robust integration with Oracle Database, enabling developers to establish direct connections for schema browsing, PL/SQL editing, and query optimization directly within the IDE. Users can define and manage database connections using the Create Database Connection dialog, which supports browsing database schemas, editing PL/SQL code with syntax highlighting and debugging tools, and optimizing queries through integrated SQL Worksheet features that offer performance tuning advice. This connectivity facilitates offline database development, such as modeling existing tables and creating views without requiring a live database instance. In version 14.1.2, a new Oracle Cloud Database connection type supports direct connectivity to Oracle Cloud databases using wallet-based credentials.[43] In the middleware layer, JDeveloper seamlessly integrates with Oracle WebLogic Server by including an integrated WebLogic domain for local testing and deployment during development. Developers can configure and run the integrated server from within JDeveloper to simulate production environments for applications built with Oracle Fusion Middleware components. For caching, JDeveloper supports Oracle Coherence through dedicated configuration tools that allow creating and managing Coherence caches, including grid-based distributed caching setups for high-performance data access in enterprise applications.[44][19] For cloud ecosystems, JDeveloper includes plugins and connection wizards tailored for Oracle Cloud Infrastructure (OCI) services, such as establishing secure connections to Autonomous Database using Oracle Wallet or Java KeyStore for schema access and data modeling in cloud-native environments. This supports end-to-end development workflows on OCI, including integration with Autonomous Database for automated scaling and self-managing features. While direct plugins for Oracle Analytics Cloud are limited, JDeveloper facilitates data connectivity and embedding of analytics components via extensions for Oracle Business Intelligence Enterprise Edition (OBIEE), which underpins Analytics Cloud, allowing developers to incorporate analytical visualizations into ADF-based applications.[43] JDeveloper aids enterprise tool migrations by supporting paths from legacy Oracle Forms applications, using built-in migration assistants to convert Forms modules into ADF equivalents for modernization while preserving business logic. This process involves importing Forms designs into JDeveloper projects, refactoring PL/SQL into Java services, and leveraging ADF for UI migration, providing a structured upgrade route within the Oracle ecosystem. For Oracle APEX, while direct export from JDeveloper is not native, integration occurs through shared database connections and ADF usage in hybrid setups, enabling developers to prototype low-code components in APEX that complement JDeveloper-built Java applications.[45]License and Availability
Licensing Model
Oracle JDeveloper is distributed free of charge under the Oracle Technology Network (OTN) Developer License Terms, which provide a nonexclusive, nontransferable license for internal use in development and testing without any associated fees.[46] This agreement allows users to download, install, and employ the integrated development environment (IDE) for building Java-based applications, including support for various Oracle technologies, at no cost for both personal and organizational development purposes.[46] The IDE bundles an Oracle Java Development Kit (JDK), specifically version 17 in recent releases such as 14.1.2, which is licensed separately under Oracle's Java SE terms.[47] Prior to late 2024, Oracle JDK 17 updates were available under the no-fee terms and conditions (NFTC) license, permitting free use including for commercial and production environments; however, starting with updates after September 2024, it reverts to the OTN License Agreement, which restricts free commercial production use and requires an Oracle Java SE Subscription for such deployments.[48] Free options remain available for personal, development, or educational use, but organizations must evaluate compliance for production scenarios.[49] Key restrictions include prohibitions on redistributing the bundled JDK outside of its integration with JDeveloper; users deploying applications to production must obtain a separately licensed JDK or utilize open-source alternatives like OpenJDK to avoid compliance issues.[48] Since 2019, Oracle has updated its Java policies to mandate subscriptions for production use of Oracle JDK in commercial settings, impacting bundled components and necessitating careful review of deployment architectures.[48] These terms ensure the JDK supports JDeveloper's development workflow without additional costs, while safeguarding Oracle's commercial interests in runtime environments.Download and Installation
Oracle JDeveloper is available for download from the official Oracle website through the developer tools downloads section. The latest version, 14.1.2.0, was released on December 20, 2024, and can be accessed via the Oracle Technology Network (OTN) portal or directly from the product page.[50][3] Two editions are offered: the full Studio Edition, which includes all features for comprehensive development, and the lightweight Java Edition, focused on core Java and XML tools.[50] Installation supports Windows, Linux, and macOS platforms. The Studio Edition provides platform-specific installers—a graphical wizard-based executable (.exe) for Windows or binary (.bin) for Linux and macOS—that bundle a certified JDK and guide users through setup options, including installation directory and feature selection. Alternatively, a generic JAR installer is available for all platforms, requiring a pre-installed certified JDK 17.0.12 or later, and can be run with the commandjava -jar installer.jar in graphical or silent mode. The Java Edition requires no installer; users simply unzip the distribution file using a tool like Info-ZIP. Installation directories should avoid spaces, and users need administrative privileges on the target system.[51][52]
System requirements include a minimum of an Intel Core i5 or equivalent CPU, 4 GB RAM on 64-bit systems, and 3 GB disk space for the Studio Edition (90 MB for Java Edition). A certified 64-bit JDK 17.0 or later is mandatory, with JDK 21.0.4 also supported. For enterprise development environments, Oracle recommends at least 8 GB RAM, 10 GB free disk space, and higher-end processors to handle complex projects and multitasking. Supported operating systems are certified versions of Windows, Linux, and macOS, as detailed in Oracle's Fusion Middleware certification matrix.[53][52]
After installation, configure JDeveloper by installing extensions, such as the JavaFX Extension (version 21.0.1), via the Help > Check for Updates menu, followed by a restart. Set up server connections for secure access by importing certificates into the keystore under Tools > Preferences > Keystores, using the default password "DemoTrustKeyStorePassPhrase" for the cacerts file in the JDK directory. Create a new workspace by specifying the user home directory in the product.conf file (e.g., AddVMOption -Dide.user.dir=$HOME/jdevfiles) or via the JDEV_USER_DIR environment variable, verifiable under Help > About > Properties.[54]