This is not a response to the question per se but to the intent behind the question.
There are those who think that UML is part of a detailed design specification. In fact, a UML diagram is still very much a high-level design spec; it is by nature incomplete and does not include enough detail. Thus, there's no computer program in existence today that can create a full-blown, working Java program from just a UML diagram. Any reasonable expectation in converting a UML diagram to Java would have to be that the generated code is
only a skeleton of the program that needs to be written. You need humans to fill out that skeleton with logic and detailed Java code. This is why human programmers are still being paid to do that job. If your expectation is otherwise, then I suggest you go and read
Jack Reeves' essays on how Code is Design.
The idea of creating UML, then generating a skeleton program, then filling in that skeleton with detailed logic and code has been around for quite some time. This is the approach that's pushed by proponents of Model-Driven Design and Architecture. I have worked on projects that have tried this approach. Those projects were pretty much abject failures. IMO, the failure is partly because the mindset is backwards. It's the same kind of backwards mindset that thinks that design
patterns are the start rather than the end. Design patterns did not just come out of thin air. They came out of a recognition of similarities between several problems and their solutions. First there were specifics, then people generalized ideas into patterns. In fact, there's a rule of thumb that says "You can't have a pattern until you have at least three different examples" or something like that.
The more useful tools, IMO, are the ones that can take a code base, analyze it, and then generate a UML diagram that shows the high-level structure of software components and the relationships that exist between them. The generated UML diagram can give you a good idea of just how complicated and entangled your software design is. Armed with that knowledge, you can go and start refactoring to simplify your design.
Doing it the other way around, the way I think OP is probably thinking of doing it, usually results in complicated and convoluted designs and code that is more likely than not to be incorrect. This is because there is an assumption that the UML diagram is correct when in fact it isn't. Yet, developers feel bound to that initial UML design and they are trapped in it, even when the detailed code that they write eventually—and almost always, inevitably—reveals the unforeseen flaws that were not immediately obvious in the high-level UML design.