GNU 클래스 패스

GNU Classpath
GNU 클래스 패스
GNU Classpath badge.png
스크린샷
GC SwingDemo.png
GNU Classpath Swing 시연
개발자GNU 프로젝트
(공식적으로는 FSF가 보유)
최종 릴리즈
0.99[1] / 2012년 3월 16일, 10년 전(2012-03-16)
저장소
기입처CJava
운영 체제크로스 플랫폼
유형도서관
면허증.GPL 링크 예외
웹 사이트www.classpath.org

GNU Classpath는 Java 프로그래밍 언어를 위한 표준 클래스 라이브러리의 자유 소프트웨어 구현입니다.J2SE 1.4 및 5.0의 대부분의 클래스가 구현되어 있습니다.따라서 클래스 경로를 사용하여 Java 기반 응용 프로그램을 실행할 수 있습니다.GNU Classpath는 GNU 프로젝트의 일부입니다.라이선스 비호환성으로 인해 libgcj와 병행하여 개발되었으나 이후 두 프로젝트가 병합되었습니다.

GNU Classpath는 Free Software Foundation에 의해 우선순위가 높은 프로젝트로 간주되었습니다.Classpath 프로젝트가 시작되었을 때, Sun Microsystems의 공식 Java 구현 라이센스는 어떠한 변경 사항도 배포할 수 없었습니다.Classpath 프로젝트가 시작된 이후 OpenJDKGPL로 출시되어 현재 Java 플랫폼의 공식 레퍼런스 구현으로 기능하고 있습니다.

면허증.

GNU Classpath는 링크 예외와 함께 GNU General Public License에 따라 라이센스가 부여됩니다.이것은 무료 소프트웨어 라이센스입니다.모든 코드는 Free Software [citation needed]Foundation에 의해 공식적으로 소유되며, 이 소유자는 [clarification needed]개발자에 대한 자체 계약상의 의무에 구속됩니다.

사용하다

GNU Classpath는 Kaffe, SableVM, JamVM, Jikes RVM 및 VMKit과 같은 많은 무료 Java 런타임에서 사용됩니다. 모든 Java 가상 시스템은 표준 클래스 라이브러리를 구현해야 하기 때문입니다.

기타 용도에는 다음과 같은 것이 있습니다.

  • Java용 GNU 컴파일러. Java 코드를 네이티브 독립 실행형 실행 파일로 컴파일할 수 있습니다.
  • 사용 중인 브라우저에서 Java[2] 애플릿이 지원되지 않는 경우 명령줄에서 Java 애플릿을 기동하기 위한 GCJAPletViewer.
  • IKVM.NET: Java와 를 통합합니다.NET 프레임워크
  • Java 응용 프로그램을 실행하기 위한 운영 체제인 JNode.이 시스템은 Java 및 어셈블러로만 작성됩니다.
  • Oberon 프로그래밍 언어와의 통합을 위한 Jaos자메이카 등의 특수 가상 머신실시간 보증이 포함된 임베디드 시스템용 VM.
  • Myrinet에서 [3]최대 128개의 프로세서를 탑재한 클러스터가 있는 분산 컴퓨팅용 가상 머신.
  • IceTea 프로젝트는 OpenJDK의 고유 요소를 업스트림으로 대체하기 전에 GNU Classpath를 대체하기 위해 GNU Classpath를 사용했습니다.

역사

GNU Classpath 개발은 1998년에 5명의 [citation needed]개발자와 함께 시작되었습니다.그 동안 비슷한 목표를 가진 다른 프로젝트(Kaffe, libgcj)와 여러 번 통합되었습니다.과거에는 GNU Classpath가 자체 가상 머신(Japhar)을 제공했습니다.Classpath가 많은 다른 프로젝트와 공유되는 기본 라이브러리가 되었기 때문에 이 가상 시스템은 점점 더 주목을 받지 못했으며 이제 더 이상 [citation needed]지원되지 않습니다.

대부분의 공식 Java 1.4 API를 구현한 후, 프로젝트 내 작업은 API 커버리지 지향보다는 버그 지향적이 되었습니다.2006년 10월 24일 마지막으로 누락된 1.4 클래스인HTMLWriter의 실장이 커밋되었습니다.개발 속도(하루 평균 코드로 계산)는 2006년에 [citation needed]사상 최고에 달했습니다.

GNU Classpath라는 이름은 Bradley M. Kuhn에 의해 최초 개발자 중 한 명인 Paul Fisher에게 제안되었습니다.당시 Free Java 구현 커뮤니티에서는 Sun의 상표가 Java에서 무료 구현에 대해 시행되는 것에 대해 큰 우려가 있었습니다.Kuhn은 $CLASSPATH라는 이름을 제안했습니다.이것은 대부분의 Java 시스템에서 Java 라이브러리가 컴퓨터에 상주하는 위치를 나타내기 위해 사용되는 환경 변수입니다.$CLASSPATH는 종종 java라는 단어가 포함된 경로 이름으로 확장되기 때문에/usr/lib/javaJava라는 이름을 실제로 말하지 않고 불러내는 방법이었다.피셔와 다른 개발자들은 $와 모든 대문자의 꼴사나운 사용을 좋아하지 않았고 Classpath에 정착했다.

개발팀

유지관리자는 프로젝트의 법적 측면을 관리하고, 정기적인 프로젝트 릴리스를 준비하며, 품질 관리를 수행합니다.유지관리자는 CVS 액세스 [citation needed]권한도 부여합니다.

GNU Classpath에는 정식 계층이 없습니다.그 일은 기술적으로 가장 유능한 사람이 하고, 엄격한 업무분담도 없다.모든 코드 변경은 처음에 토론 목록에 패치로 게시되며, 필요에 따라 반대할 수 있습니다.이 프로젝트에서는 보통 하루에 5~8개의 패치를 받습니다.

GNU Classpath 라이브러리의 코드 커버리지 진행 상황은 OpenJDK6 및 OpenJDK7에 [5]대해[4] 추적할 수 있습니다.

가상 머신의 통합

GNU Classpath에는 공식 Java API 네임스페이스의 클래스가 포함되어 있습니다.네이티브 코드에 대한 호출이 필요하거나 매우 필요한 경우, 이 작업은 소수의 "VM" 클래스에서 수행됩니다.이러한 VM 클래스의 이름은 네이티브 메서드가 필요한 클래스의 이름과 VMObject, VMString 등의 추가 VM 접두사와 일치합니다.VM 클래스는 나머지 코드와 별도로 저장되며 패키지 개인 및 최종 클래스입니다.이러한 클래스의 메서드에는 native 키워드가 포함되어 지원 네이티브 라이브러리의 필요성을 나타냅니다.이러한 라이브러리는 Java 가상 머신의 작성자에 의해 제공되므로 이러한 가상 머신의 소스를 사용할 수 있고 수정할 수 있는 경우 거의 모든 Java 가상 머신에 GNU Classpath를 연결할 수 있습니다.

Java 1.5의 새로운 언어 기능 지원

버전 0.95 이전에 각 GNU Classpath 릴리스는 두 개의 개별 릴리스 tarball로 구성되었습니다. 하나는 메인 개발 브랜치의 상태를 나타내는 것이고 다른 하나는 Java 1.[6]5에 존재하는 제네릭, 열거 및 주석과 같은 추가 사항을 지원하는 실험 브랜치의 내용을 포함하는 것입니다.

버전 0.95 [7]이후 제네릭과 같은 Java 1.5 추가 기능이 메인 브랜치에 완전히 통합되었습니다.브랜치는 Eclipse 컴파일러 ecj를 사용하여 Java 1.5 소스 코드를 바이트 코드로 컴파일하여 구축할 수 있습니다.GCJ의 경우 ecj를 사용하여 이 초기 단계를 수행한 후 바이트 코드를 네이티브 코드로 변환합니다.0.95 이후 GNU Classpath는 GNU Classpath를 사용한 새로운 GPLed 오픈 소스 javac 컴파일러의 컴파일 및 실행을 지원하며 GNU Classpath 클래스 라이브러리, 도구 및 예제를 javac 자체와 함께 컴파일할 수도 있습니다.

omg.org 도메인으로부터의 클래스

Sun과 GNU Corba는 2개의 클라이언트[a] 게임으로 상호 작용합니다.

GNU Classpath에서는 프리 라이선스가 아닌 코드 또는 프리 라이선스가 아닌 코드에서 자동으로 생성된 코드를 사용할 수 없습니다.표준 Java API에는 omg.org 도메인으로부터의 다수의 클래스가 포함되어 있습니다.이 클래스는 일반적으로 IDL 파일에서 생성되며 Object Management Group에 의해 릴리스됩니다.이러한 파일의 「use, but no modify」라이선스는 프리 이외의 것으로 간주됩니다.이러한 이유로 GNU Classpath 프로젝트에서 언급된 클래스는 공식적으로 인쇄된 OMG 사양만을 사용하여 처음부터 작성되었습니다.따라서 GNU Classpath의 이 부분은 프로젝트의 다른 코드와 마찬가지로 무료입니다.

「 」를 참조해 주세요.

메모들

  1. ^ Fosdem 2006에는 CORBA의 [8]Sun과 Classpath 구현 간의 데이터 교환 시연 등이 포함되어 있습니다.소스 코드는 Classpath 저장소에서 사용할 수 있습니다[9].

레퍼런스

  1. ^ Hughes, Andrew John (2012-03-16). "GNU Classpath 0.99 Released!" (World Wide Web log). Fuseyism. Archived from the original on 2012-12-14. Retrieved 2012-03-20.
  2. ^ 를 클릭합니다GCJ applet viewer, Koders, archived from the original on 2009-09-18, retrieved 2009-09-14.
  3. ^ 를 클릭합니다"Jupiter", EECG, U Toronto.
  4. ^ 를 클릭합니다"GNU Classpath Library Coverage against OpenJDK6", J API, Fuseyism.
  5. ^ 를 클릭합니다"GNU Classpath Library Coverage against OpenJDK7", J API, Fuseyism.
  6. ^ 를 클릭합니다"GNU Classpath "95% and counting" 0.19 released", The GNU Project (announcement), Software, The Free Software Foundation, 2005-11-02, retrieved 31 May 2011.
  7. ^ 를 클릭합니다"The release of GNU Classpath 0.98 "Better Late Than Never", The GNU Project (announcement), Software, The Free Software Foundation, 2009-02-05.
  8. ^ 를 클릭합니다Fosdem (conference archive), Classpath, 2006.
  9. ^ 를 클릭합니다"Classpath", The GNU is Not Unix Project (source code) (example), The Free Software Foundation.

외부 링크