2015-02-06 3 views
2

사용자에게 Java 1.7 또는 1.8을 사용하도록 선택하십시오.1.7과 1.8 모두 호환되는 코드를 만드시겠습니까?

우리 애플리케이션은 1.7 용 Mozilla Rhino와 1.8 용 JavaScript Nashorn 인 JavaScript 엔진을 사용합니다. (그래, 그들은 그것을 대체하고 이전 버전과의 호환성을 깨뜨렸다!)

JS 호출 가능한 Java 코드에서 Nashorn을 사용하려면 1.830 jdk.internal.dynalink.beans.StaticClass 클래스를 사용해야합니다.

StaticClass을 사용할 때 더 이상 Java 1.7에서 코드를 컴파일하거나 실행할 수 없습니다. 무엇이 가장 쉬운 해결책이 될까요?

+0

'* .internal. *'주의 : 회의에 나서서 Mark Reinhold 자신이'Java 9 '에서 사용할 수 없게 될 것이라고 말했다. ('sun. *'패키지와 마찬가지로). http://openjdk.java.net/projects/jigsaw/ – ThanksForAllTheFish

+0

'jdk/nashorn/internal/objects/NativeJava.java # type (Object, Object)'의 javadoc은 문자 그대로 다음과 같이 명시되어 있습니다.'주어진 이름 Nashorn에서 해당 유형을 나타내는 객체를 반환합니다. Nashorn에서 Java 유형을 나타내는 데 사용되는 객체의 Java 클래스는 Java 클래스를 지원하기로 결정했을 때 동일한 호환성 문제가 나타납니다 다시. –

답변

0

필요한 클래스가 하나 뿐인 경우 1.7 호환이되는 구현을 직접 작성하십시오.

정규화 된 이름이 동일하면 클래스 로더는 찾은 곳을 상관하지 않습니다.

관련 문제