2013-05-30 3 views
0

나는 스스로 해결할 수없는 심각한 문제가 있습니다. portalImpl (LdapSettings, PrefsPortalUtils 및 PortalLdapImpl)의 세 클래스를 사용하는 사용자 정의 포틀릿을 만들었지 만이 패키지 (ext-impl)는 다른 포틀릿에서 액세스 할 수 없습니다. 어떻게 사용자 정의 포틀릿에서 ext-impl 기능을 호출 할 수 있습니까? 미리 감사드립니다. 좋은 하루 보내십시오.Liferay 다른 포틀릿에서 ext-impl 패키지 사용

+0

'portal-impl.jar'의 클래스를 사용하면'Liferay v6.0'을 사용하지 못하며'v6.1 '부터는 사용자 정의 포틀릿에서 사용할 수 없습니다! 그래서 그것을 사용하지 마십시오! –

답변

1

할 수 없으며 그렇게해서는 안됩니다. 왜? 모든 * impl 클래스는 구현 세부 사항으로 간주되며 사전 통지없이 변경 될 수 있습니다. 인터페이스 또는 구현 안정성에 대한 가정은 할 수 없습니다.

이제 막 붙어 있습니까? 아닙니다. 예를 들어 질문을 다시 말하면 해당 구현 클래스에 대한 액세스로 해결하고자하는 문제가 무엇인지 알려주고 다른 해결책을 제시 할 수 있습니다.

물론 폴백 방법은 다음과 같습니다. 발견 한 코드가 필요하면 포틀릿에 복사하십시오. 코드에 대한 반사 - 크로스 - 클래스 로더 액세스에 관해서는 말하지 않을 것입니다. 왜냐하면 이것이 낙담 할뿐 아니라 유지 관리 측면에서도 추악하고 심지어 악화되기 때문입니다.

관련 문제