[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[m2e-users] Configuring build path access restrictions in POM
|
Hello m2e-users,
I have a standard Maven project in Eclipse.
The project uses the "com.sun.net.httpserver.HttpServer" class
in test cases to provide a mocked service to test against.
This causes a warning in Eclipse:
Access restriction: The type 'HttpServer' is not API
(restriction on required library '/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/jre/lib/rt.jar')
This class is not in the usual JDK "java.*" or "javax.*" packages,
but neither is it in the generally-discouraged "sun.*" or other internal
namespaces. And since it is only in tests, I would like to just suppress
the warning and use the class.
This is relatively easy to do from the Eclipse UI -- you go to your Build Path
and add an access rule saying that "com/sun/**" should be accessible.
Unfortunately, the next time M2E updates its configuration due to POM changes,
this fix is lost.
There's some people on StackOverflow with a workaround:
http://stackoverflow.com/questions/32565193/how-to-define-access-rules-for-classpath-entries-in-maven-pom-xml-file-for-eclip
but the workaround is to use an Ant task to run find/replace on the generated files.
As you can imagine I'm not really thrilled with that.
Is there a better way? If not, would this be easy to add?
Thanks for your thoughts,
Steven Schlansker