0
나는 android 및 서버 버전이있는 라이브러리를 빌드 중입니다.Android 및 JDK 클래스
LdapJDK는 android JDK에 포함되지 않은 javax.naming 클래스를 가져옵니다.
내 라이브러리의 Android 버전에서 LdapJDK가 호출되지 않으므로 아래 코드는 Android 휴대 전화에서 작동합니다.
그러나 이것이 안전한 방법인지 확신하지 못합니다. 일부 응용 프로그램 (예 : 웹 서버)이 초기화 중에 모든 클래스 종속성을 검사하면 내 라이브러리에서 예외가 발생합니다.
의견을 보내 주시면 감사하겠습니다.
public static X509Certificate[] getCertFromLDAP(String url, String dn) throws ASN1Exception, CertificateException, UnsupportedEncodingException
{
if (JeTS.getType() == PKIConstants.ANDROID_TYPE)
return LdapAndroid.getCertFromLDAP(url, dn);
else
return LdapJDK.getCertFromLDAP(url, dn);
}
웹 서버가 eager-loading을 사용할 수 있으므로 서버 버전이 문제를 일으켜야 함을 의미합니까? 나는 도서관을 다시 건설해야한다. 답변 주셔서 감사합니다 – tompal18
자바 SE는 항상 게으른 클래스 로딩을 사용합니다. 그러나 서버 컨테이너 (Tomcat 등) 또는 프레임 워크 (Spring 등)는 주석을 확인하기 위해 클래스 검색을 수행 할 수 있으므로 실제로 사용되기 전에 클래스가로드 될 수 있습니다. 필요한 라이브러리가 모두 있기 때문에 일반적으로 문제가되지 않습니다. 전체 Java API를 지원하지 않기 때문에 Android에서는 그렇지 않을 수 있습니다. –