Browse Clojure Foundations for Java Developers

Setting Up a Development Environment

Deeper setup notes for editors, REPL connections, and project workflows on the JVM.

Use this appendix when you want more detail than the main setup chapter provides—especially around editor/IDE integration, REPL connection strategies, and “quality of life” workflow improvements.

For Java developers, the goal is a comfortable hybrid: keep the JVM tools you trust (profilers, loggers, debuggers) while adopting the REPL-first habits that make Clojure development fast.

In this section

  • Advanced Editor/IDE Configurations
    Make the REPL loop frictionless: evaluation commands, stack traces, linting, and navigation.
    • Emacs with CIDER
      When Emacs is the right choice, how CIDER fits a REPL-driven workflow, and what Java developers should configure first.
    • IntelliJ IDEA with Cursive
      Why Cursive is often the easiest editor transition for Java developers, and which features matter most for real Clojure work.
    • Visual Studio Code with Calva
      How Calva gives VS Code a real Clojure workflow, when jack-in is the right default, and what Java developers should watch for.
  • Plugins and Extensions
    Tooling that improves day-to-day work: linting, formatting, refactoring helpers, and REPL integration.
    • REPL Integration Plugins
      Which REPL-focused editor integrations matter today, and how to avoid turning your Clojure setup into plugin sprawl.
    • Linting and Static Analysis Tools
      A current Clojure code-quality stack for Java engineers: clojure-lsp in the editor, clj-kondo in the terminal, cljfmt for formatting, and Eastwood as an optional deeper pass.
  • Workspace Optimization
    Keep projects pleasant: fast reload, useful logging, repeatable dev aliases, and predictable test runs.
Revised on Friday, April 24, 2026