It is clear, then, that while the JAR is a very practicalunit of reuse, it lacks the capacity to distinguish between externals and internals and has no means to isolate the latter.
As the unit of deployment (and as the artifact that exists in the file system), the JAR is a very practicalunit of reuse but it lacks some of the other characteristics of a good module.
A second, more practical issue regarding the potential widespread adoption of AOP is the development of tools and techniques for testing, especially unit testing.