2012-06-14 3 views
0

LoadTime 짜기를 사용하고 있습니다. 내 측면이 테스트되었고 완벽하게 작동합니다. 내 작업 공간에 여러 개의 프로젝트가 있는데 "실제 것"을 유지하기 위해 경고를 지우려고합니다.경고 제거 : pointcut의 invalidAbsoluteTypeName

다음 코드는 나를 제공합니다 : [Xlint : invalidAbsoluteTypeName] 경고 및 @SuppressAjWarnings으로 지울 수 없습니다.

감사가 alots 사람들을 취소 할 수있는 방법이 있는지

pointcut somePointcutName(): 
      call(*someMethod(..)) && 
      !adviceexecution(); 

그래서 궁금하네요!

+0

이 질문이 충분한 지 궁금합니다. 더 많은 정보가 필요하면 그냥 물어보십시오. – drgn

+0

기꺼이 도와 드리 겠지만 더 많은 정보가 필요합니다. 질문을 패키지, 클래스 및 메소드 이름 (전체 서명)으로 확장하십시오. drgn이 너를 좋아하지 않을지 모르겠다. – kriegaex

답변

1

좋아, 나는 그 곳에서 무슨 일이 일어 났는지 알 것 같아. 당신의 call 포인트 컷에 어떤 종류의 서명이 있더라도, 절대적인 것을 사용했다.

* MyClass.doIt(..) ,

하지만 당신은 그런 식으로 액세스 할 수 없습니다, 따라서 클래스를 수입하지 않았습니다. 그래서 하나는 포인트 컷에

import com.foobar.my.package.MyClass

귀하의 측면에서

또는

* *..MyClass.doIt(..)

이 필요합니다. 나는 Xlint 경고가 약간은 알 수 없다고 생각하지만 기본적으로 그것이 의미하는 바가있다.

+0

이 사이드 프로젝트는 작업 중이기 때문에 얼음에 꽂혀 있습니다. (경고 제거) 문제는 내가 가져올 수 있는지 확실하지 않습니다. 포인트 컷을 넣는 클래스는 내가 소유하고 있지 않은 단지에 있습니다. 나는 기본적으로 나 자신의 코드에서 나중에 사용할 수있는 XML 파일을 생성하기 위해 소유하지 않은 코드를 납치하고있다. 이것이 제가 로딩 타임을 사용하는 이유입니다. 또한 jdcompiler를 사용하여 클래스/함수를 pointcut에 알릴 수 있어야했습니다. 나는 여전히 당신의 해결책을 시도 할 것입니다. 나는 너를 최신 상태로 유지할 것이다. 시간을내어 주셔서 감사합니다. – drgn

+0

요격하려는 것을 가져올 수없는 이유는 무엇입니까? 그러나 어쨌든, 나는 (수입되지 않은) 패키지 이름에 대한 조커의 대체 접근법을 제공했다. 그래서 어느 쪽이든 당신은 당신의 aspect code의 버그 인 당신의 문제를 해결할 수 있습니다. 편집 : 글쎄, LTW와 버그,하지만 사실은 귀하의 독립형 측면 프로젝트는 LTW가 적용되기 전에 클래스 이름을 볼 수 없습니다. 그래서 내가 말했듯이 경고와 함께 살아야하거나 조커를 사용해야합니다. – kriegaex

+0

답장하는 데 시간이 걸렸습니다. 죄송합니다. 당신의 솔루션은 제가 찾고있는 솔루션입니다. 나는 더 이상 경고가 없으며 양상은 LTW로 올바른 함수 호출을 잡을 수 있습니다. 시간 내 주셔서 감사합니다. – drgn