May 27th, 2009
Recently on the nbdev (email@example.com) mailing list someone ask a question regarding friend dependencies, because he/she I got the following Error:
The module some.package.path is not a friend of some-path\some.jar
So what is friend dependency anyways. Friend Dependency is caused by a Module that have an API which its author is not yet comfortable exposing to just anyone, because it might not be fully stabilized yet. In this case, the module with the API can declare some public packages, but also stipulate that only a predefined list of “friend modules” are permitted to use them. The friend modules just declare a regular specification version dependency, but unknown modules are not permitted to use any packages from the API module.
So in order to declare a dependency to that module, you need to use an implementation dependency. Please read the following Netbeans Wiki Dev FAQ on how to declare this implementation dependency and to enable friend dependency.
note: please also understand that implementation dependencies cause special problems for Auto Update. It is explained on the Netbeans Wiki Dev FAQ as well
Tags: Java, Netbeans Platform