JSR 305의 상태는 어떻습니까?


101

JSR305 대 JSR308 (Java Type Anotations)-어떤 것이 표준이 될까요? 라는 질문을 보았습니다 . JSR 308JSR 305 의 차이점을 이해합니다 .

나는 또한 현재 308은 Java 7에 대해 예정되어 있고 305는 그렇지 않다는 것을 알고 있으며 305의 전반적인 상태에 대해 궁금합니다.

특히, 일부 프로젝트에서 Google CollectionsJSR-305 를 사용하고 있으며 ( Guice 모범 사례 옹호자 중 하나 와 유사한 방식으로 ) 사용해야하는 "미래 방향"친화적 인 접근 방식이 있는지 궁금합니다. 대신. JSR-305 그룹에서도 이것에 대해 물어볼 계획이지만 그 그룹은 활동이 많지 않아서 여기있는 사람이 더 많은 정보가 있는지 궁금합니다.


1
Kevin이 남긴 대답은 받아 들일 수 있지만 해당 기사에서 Java 7에 포함될 것인지 아닌지에 대한 내용을 찾을 수 없습니다. (그리고 나는. 실제로 질문을 게시하기 전에, 그 정보를 간략하게 검토했다) 당신은 그들이 것을 거기에서 특정 언급 봤어 것이다 (당신의 대답에 표시된대로) 포함을? 도움을 주셔서 미리 감사드립니다.
Charlie Collins

1
이 많은 시간과 무슨 일이 일어나고 있는지 정확히 파악하기위한 몇 가지 다른 노력 끝에 저는 최상의 답변, 유일한 답변, "답변"구분을 수여합니다. ;)
Charlie Collins


Mark Reinhold는 최근 또 다른 SO 게시물에 "javax.annotation.NonNull을 표준화했을 JSR 305는 사양 리드가 AWOL이 되었기 때문에 완료되지 않았습니다"라고 언급했습니다.
흐름

답변:


67

이에 설명 된대로 대답 , JSR-305 과 같은 새로운 주석 제안 @NonNull을 하면서, JSR-308 등의 일반 선언에 새로운 장소에서 허용하는 주석을 제안한다.

JSR 308 페이지 인용 :

…이 문서는 주석을 제안하지 않고 단지 Java 코드에서 나타날 수있는 위치를 지정합니다.

JSR 308 (새 위치의 주석)은 JEP 104에 따라 Java 8 에 포함되어 있습니다.

2017 년부터 JSR 305 (새 주석)는 계속해서 "휴면"의 공식 상태를 유지합니다. 질문 구글 그룹에 그것의 상태에 대한 2010 년부터 답하고있다.

여기 에는 guava를 포함한 많은 프로젝트에서 사용되는 JSR-305 주석의 참조 구현이 있습니다. Maven에서는 이것을 pom에 추가하여 JSR-305 참조 구현을 사용할 수 있습니다.

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>3.0.0</version>
</dependency>

2
maven central의 com.google.code.findbugs : jsr305 링크 (최신 버전은 현재 3.0.0)
Paolo Fulgoni

findbugs-maven-plugin(에서 org.codehaus.mojo) 와 동일한 버전을 사용하여 둘 다 동기화 할 수 있습니다.
Christophe Roussy 2015 년

2
Java 9는 기능이 완전하지만 출시되지는 않았으며 JSR-305가 포함되지 않은 것처럼 보입니다. 유사한 주석을 추가 한 또 다른 JSR이 있습니까?
dlamblin



1

Alex Millers Java 7 블로그 에 따르면 JSR-308 (및 305)은 Java 7로 이동할 예정입니다. 아마도 그는 여기에 나타나 더 많은 정보를 제공 할 것입니다.


51
둘 다 Java 7에 포함되지 않았습니다.
Miles

7
JSR308은 Java 8에 있지만 (2013 년 3 월) JSR 305는 여전히 휴면 상태입니다.
Maurice Naftalin 2013 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.