separate out static dependencies of core on java backend

**do not review yet**