I moved a little farther after RFC about Java wrapper:
and I was able to use rust-swig in real life project
for automatically generate binding for Java from Rust code (it is even possible write Java code in .rs file directly).
At now it can handle almost all primitive types of Rust,
know about &str/String, Vec and Result (in Java checked exceptions are used).
There are still many black wholes, so any advises/suggestions are welcome.