Java – converting jars using ikvm (flying navigator – xhtmlrenderer)
I think so Net, so I try to use ikvm to convert the flying navigator Library:
ikvmc core-renderer.jar
For some reason, ikvmc gave me an EXE core renderer Exe, so I renamed it core renderer DLL, added to my assembly and hacked
using java.io;
using java.lang;
using com.lowagie.text;
using org.xhtmlrenderer.pdf;
namespace flying_saucer
{
class FlyingSaucerApp
{
static void Main(string[] args)
{
// This works
DocumentException dummy = new DocumentException();
ITextRenderer renderer = new ITextRenderer();
// For some reason,this raises NoClassDefFoundError
renderer.setDocument(File("hello.xhtml").toURI().toURL().toString());
}
}
}
For some reason, it gives Java lang.NoClassDefFoundError:com. lowagie. text. DocumentException. I realized that documentexception was something itextrender () might throw, but I already included com lowagie. Text, any ideas?
Solution
It turns out that for this special case, I need to render the flying navigator and iText (the dependencies of the flying Navigator) and let the flying navigator assembly reference its dependencies:
ikvmc -target:library itext.jar ikvmc -target:library -reference:itext.dll core-renderer.jar
(for novices: if you don't read any documentation and just try the command, you also need to make sure that the DLL file attached to ikvmc also exists - the easiest way is to dump all ikvmc files to your iText jar file)
