What does combineaccessrules mean in Eclipse classpaths?

With proper use of access rules you can prevent using “internal” and/or “non-api” classes and methods. When you add a class or package as Forbidden or Discouraged the compiler show an error or warning when you use that class or class from the specified package. For a longer introduction of access rules you should read this short article.

For using combine access rules imagine the following situation:

  • You have 2 projects, A and B.
  • On the classpath of project A there is a jar file that is exported. The jar contains some “stable api”, “unstable api” and “non-api” public classes.
  • Project B depends on project A.

You do not allow using “non-api” classes in project A so you set some Forbidden access rules on those classes / packages.

In project B you do not allow using “non-api” as well, but you do want to get a warning when using “unstable api”. In this case in project B you only have to set the additional Discouraged access rules if you check the Combine rules with the access rules of the exported project entries.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)