title: Loading classes and resources in Java 9
body: <p>I was reading <a href="https://www.infoq.com/news/2017/06/oracle-defends-jpms" rel="noreferrer">this article on InfoQ</a> quoting Reinhold:</p>
  
  <blockquote>
    <p>Developers can still use the Java class path in Java 9 for the Java
    runtime to search for classes and resource files. It's just that with
    Java 9's modules, developers no longer need the class path.</p>
  </blockquote>
  
  <p>So now my question is: what is the proper Java 9 way to do the tasks listed above? How do you dynamically load e.g. an image (short of fiddling with relative paths)?</p>
  
  <p>Even more interestingly, how would one check if a class is available and make a decision dynamically (e.g. check if Jackson is available and, if so, use it for JSON serialization and if not use something else)?</p>
  
  <p>The article also mentions Spring Boot already supporting Java 9, and Spring Boot definitely does a lot of dynamic loading. So maybe someone knows the priece of code from Spring that I can look at?</p>