It seems that JSS places it's internal jars in front of classpath during report previews. I've asked on forum if this can be turned off (https://community.jaspersoft.com/questions/1139816/jar-version-conflict-...), but since no one responded, I assume it's not configurable. Personally, I think this should not be desired behavior (look down for explanation) so I'm filing this bug report.
I've added my project's classes and libs to my project's build classpath in JSS and configured their order.
Report compiles ok. So far, so good.
Next, I configured Data Adapter that produces collections of beans by calling on static method on one of factory classes from my project. However, this execution fails, because that factory (as does my whole project) depends on Google Guice lib version 4.2.0, but during report execution Studio's own version of Guice (plugins/com.google.inject_3.0.0.v201312141243.jar, version 3.0.0) is added in front of my libs and it gets loaded. Result is common for this situation: JRE reports NoSuchMethodError when my code tries to call on method only available in Guice 4.
Note: I've even removed default "JasperReports Library" and "Jaspersoft Server library" from JSS project (since JR libs are added through my project), but JSS's jars are still added in front of classpath during report previews.