2012-06-14 39 views
0

我正在使用LoadTime编织。 我的方面已经过测试,并且完美地工作。 我有几个项目,我的工作区,我试图清除一些警告只是为了保持“真正的”移除警告:pointcut中的invalidAbsoluteTypeName

此代码给我:[Xlint:invalidAbsoluteTypeName]与@SuppressAjWarnings警告我不能清除它

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

所以我不知道是否有一种方法来清除这些

谢谢alots!

+0

我想知道这个问题是否足够清楚。如果您需要更多信息,请询问。 – drgn

+0

我愿意帮忙,但我需要更多信息。请通过包裹,班级和方法名称来扩展您的问题(请填写完整的签名)。难怪drgn不能帮你这样做。 – kriegaex

回答

1

好的,我玩过,我想我知道那里发生了什么:无论您在call切入点中有哪种类型的签名,看起来您都使用了绝对的签名。

* MyClass.doIt(..)

但尚未导入的类,因此这样的不能访问它。所以,你要么需要

import com.foobar.my.package.MyClass

在您方面

* *..MyClass.doIt(..)

在你的切入点。我猜Xlint警告有点神秘,但基本上就是这个意思。

+0

这个侧面项目已被放在冰上,因为它正在工作,我只是想清除它(删除警告)问题是我不知道我可以导入这些。那些我把切入点的类放在我没有的罐子里。我基本上劫持了我自己的代码来生成一个XML文件,以后我可以在自己的代码中使用它。这就是我使用加载时编织的原因。另外,我必须使用jdcompiler才能够知道要切入点的类/函数。我仍然会尝试你的解决方案。我会及时通知你的。感谢您的时间 – drgn

+0

为什么你应该无法导入你想拦截的东西?但无论如何,我提供了一个替代方法,用于(未导入的)包名的小丑。所以无论哪种方式,您都可以解决您的问题,这只是您的方面代码中的一个错误。编辑:那么,对于LTW,它可能不是一个错误,而只是一个事实,即在应用LTW之前,您的独立方面项目无法看到类名。正如我所说,所以你要么需要接受警告或者使用小丑。 – kriegaex

+0

对不起,我花了一段时间回答你。您的解决方案正是我一直在寻找的。我没有更多的警告,方面仍然能够与LTW捕捉正确的功能。感谢您的时间。 – drgn