아파치 하모니(Apache Harmony)는 아파치 소프트웨어 재단이 개발한 오픈 소스 자유 자바(Java) 구현체이다. 2005년 5월 초에 처음 발표되었으며, 2006년 10월 25일 아파치 소프트웨어 재단 이사회에서 최상위 프로젝트(Top-Level Project)로 승격되었다.
이 프로젝트의 목표는 자바 SE(Java Standard Edition) 사양을 완전히 구현하는 오픈 소스 자바 런타임 환경을 제공하는 것이었다. 2011년 2월 기준으로 J2SE 5.0에 대해 99%의 완성도, Java SE 6에 대해 97%의 완성도를 달성하였다. 프로그래밍 언어는 C++과 자바를 사용하였으며, 운영 체제로는 윈도우(Windows)와 리눅스(Linux)를 주로 지원하였다. 라이선스는 아파치 라이선스 2.0(Apache License 2.0)을 채택하였다.
아파치 하모니의 역사는 여러 중요한 사건으로 특징지어진다. 초기에는 기존의 GNU 클래스패스(GNU Classpath) 개발자들도 참여하였으나, 아파치 라이선스와 GNU GPL 라이선스 간의 호환되지 않는 차이로 인해 두 프로젝트는 별도로 진행되었다. IBM, 인텔(Intel) 등 여러 기업이 코드 기여를 하였으며, 특히 인텔은 Swing, AWT, Java 2D 코드를 기부하였다.
2007년 4월, 아파치 소프트웨어 재단은 당시 자바를 소유하던 썬 마이크로시스템즈(Sun Microsystems)에 자바 SE 5 기술 호환성 키트(TCK) 라이선스 문제에 관한 공개 서한을 발송하였다. 아파치 측은 TCK 라이선스에 포함된 '사용 분야(field of use)' 제한 조항이 JCP(Java Community Process) 규정에 부합하지 않는다고 주장하였다. 이 문제는 이후에도 해결되지 않았으며, 2010년 12월 아파치 소프트웨어 재단은 이 문제를 항의하며 JCP 집행위원회에서 사퇴하였다.
구글(Google)의 안드로이드(Android) 운영체제는 역사적으로 아파치 하모니의 주요 사용자였다. 안드로이드 SDK에 포함된 달빅(Dalvik) 가상 머신과 이후의 ART(Android Runtime)는 하모니의 클래스 라이브러리 일부를 사용하였다. 그러나 안드로이드 7.0 누가(Nougat)부터는 OpenJDK 라이브러리로 전환되었다.
2010년 10월, 프로젝트 최대 참여 기업이었던 IBM이 오라클(Oracle)의 OpenJDK 프로젝트로 개발 방향을 전환하면서 아파치 하모니의 활동은 급격히 위축되었다. 2011년 3월 프로젝트 관리 위원장이 사임하였고, 2011년 10월 29일 프로젝트 종료 투표가 시작되어 찬성 20표, 반대 2표로 종료가 결정되었다. 2011년 11월 16일 아파치 소프트웨어 재단 이사회는 프로젝트 종료를 최종 승인하였으며, 이후 프로젝트는 아파치 아틱(Attic)으로 이관되어 보존되었다. 마지막 안정화 버전은 2010년 9월 15일에 출시된 5.0M15와 6.0M3이다.