The answer to this question is both yes and no.
Yes, the JMockit Annotations API (for state-based testing) does work fine if called directly from a "main" method.
No, the JMockit Expectations API (for behavior-based testing) currently does not work if called directly from "main". This happens because it keeps track of the current test being executed by the test runner, which can be a JUnit 3.8, a JUnit 4.5+, or a TestNG 5.8+ runner.
So, when not running in the context of a testing framework (JUnit or TestNG), it lacks the necessary test tracking information.
JMockit Expectations could be changed, though. But what would be the point of running a test suite that is neither written with JUnit nor with TestNG, or with any other test framework (if one existed)? Or do you want to use it for something entirely different from developer testing?