Can somebody explain to me in a nutshell, what Jars are, and how they work with Starsector? It seems like a pretty standard Java thing. Funnily enough I don't know much about Java.
(I'm asking because it seems like you need them to get around generics are something. It's hard to explain because I'm realizing just now how little I know about Java.)
Just a note - you don't actually need generics, they just make life slightly easier. You can code pretty much anything without them that you could using them.
Anyway, the explanation:
Most mods implement their scripts as loose java files in their mod folders. When the game launches, it finds all these scripts and passes them to Janino. Janino is a very small, very fast compiler that Starfarer uses to compile scripts. While it is fast, the downside is that it doesn't support the full list of Java language features, generics being foremost among that list.
A jar is basically an archive (like a zip or rar) that contains compiled java code (.class files), 'compiled' meaning it's been translated into a form the computer can understand. Since the code in a jar is already readable by the Java VM, the game can load these classes directly into memory, bypassing Janino and its restrictions.
If you are already using an IDE you should have an easy time creating a jar - in NetBeans it'd be Clean and Build (Shift+F11), and you'd find the jar in your NetBeans project folder inside the dist directory. Just put that jar somewhere in your mod folder, then add a line to your mod_info.json telling the game where to find it.
For example, LazyLib's compiled code is stored in jars/LazyLib.jar. So it requires the following line in its mod_info.json:
"jars":["jars/LazyLib.jar",],
There is one pitfall you have to watch out for. Unless Alex has changed it in .6a, scripts in data/scripts/plugins need to be outside a jar to be automatically loaded by the game.
Again, you don't need to know anything about using generics or jars to write a mod. Just create mods the way you are most comfortable and everything will continue to work.