2012-09-28 2 views
0

나는 범용 라이브러리 (junit 또는 spring)를 작성하고 있습니다. 나는 더 새로운 자바 버전의 어떤 특징도 사용하지 않는다. 나는 중앙 도서관에 내 도서관을두고 싶다.어떤 자바 버전으로 라이브러리 컴파일하기

내 질문은 무엇입니까? -target 컴파일 중에 선택해야합니까? 내가 1.2를 선택한 경우 모든 사람들이 내 라이브러리를 사용할 수 있지만 최근 jvm에서 실행할 때 성능이 느슨한지는 잘 모르겠습니다. 그런 경우에 가장 좋은 방법은 무엇입니까? 나는 각각의 특정 jvm에 대해 많은 버전을 배포하는 것을 피하고자한다.

+0

대상 옵션을 사용하는 것만으로도 API의 가용성을 확인하지 않으므로 라이브러리가 JVM의 이전 버전에서 실행되지는 않습니다. 지원하고 싶은 JDK 버전을 사용하는 것이 가장 좋습니다. 그렇지 않으면 corss-compilation을 검색하여 자세한 정보를 얻으십시오. – Puce

답변

0

클래스를 컴파일하는 데 필요한 최소 Java 버전을 사용하는 것이 좋다고 생각합니다. 따라서 코드가 Java 1.2로 컴파일되면 (즉, 제네릭, 열거 형, 자동 리소스 관리 등을 사용하지 않는다는 뜻입니다) Java 1.2로 컴파일하십시오.

거대한 성능 차단기가 없다고 생각합니다. 최신 javac 버전은 코드를 좀 더 최적화 할 수 있습니다.

0

제네릭 때문에, 지금 사용하지 않더라도 하루는 필요할 수도있다. Apache Commons와 함께). 새로운 라이브러리라면 마지막 두 가지 주요 Java 릴리스를 지원하는 것으로 충분하다고 생각합니다. 그러나 귀하의 질문은 성과와 관련이 있습니다. 타겟 버전이 큰 영향을 미치지 않아야한다고 생각합니다.