2013-01-20 4 views
2

J'écris une extension OpenOffice qui est supposée interagir avec une grande bibliothèque .NET. Comme suggéré here, une solution plausible est d'utiliser IKVM.NET avec l'extension écrite en Java qui interagit avec la bibliothèque Mono. Pourtant, la question est de savoir comment introduire IKVM.NET en tant que JRE pour OpenOffice.IKVM.NET comme JRE pour OpenOffice

Répondre

1

Je pense que cela n'est pas possible sans recompiler OpenOffice. OpenOffice a une très bonne vérification de machine virtuelle Java. Si vous voulez le faire alors vous avez besoin de:

  • Renommez ou copiez ikvm.exe en java.exe.
  • les modifications sont égales à this fix checkin pour Java 7 avec les paramètres de IKVM. Le vendeur est "Jeroen Frijters". L'actuel ikvm a la version 1.7.0. Ensuite, reconstruisez OpenOffice ou LibreOffice.
  • Ensuite, entrez le chemin du répertoire parent bin IKVM dans le menu Outils - Options - OpenOffice.org - Java

Alternative, vous pouvez modifier le fournisseur de IKVM à "Oracle Corporation" et le reconstruire.

Mais je n'ai aucune idée de comment cela devrait fonctionner avec mono.

+0

Merci. C'était vraiment un bon heads-up. En fait, il n'y a pas besoin de recompiler tout OpenOffice. La vérification est faite par 'sunjavaplugin.so' (' sunjavaplugin.dll' dans Windows) qui à son tour utilise 'javavendors.xml' et je n'ai eu qu'à patcher ces deux fichiers pour permettre à OpenOffice de reconnaître" Jeroen Frijters "en tant que nouveau fournisseur. D'autre part, OpenOffice utilise 'JREProperties.class' pour extraire les propriétés du fournisseur (comme' java.vendor', 'java.version' et' java.home'). Une manière plus simple pourrait être juste de patcher 'JREProperties.java' pour désinformer OpenOffice chaque fois que le fournisseur est" Jeroen Frijters ". – Hedy

+0

Pourtant, 'JNI_CreateJavaVM' n'est pas implémenté dans IKVM.NET et (si j'ai raison) il ne peut pas être utilisé comme JRE pour OO. – Hedy

+0

Je ne sais pas ce que vous voulez dire. Il me semble que java.exe appelle. Pourquoi un CreateJavaVM est-il nécessaire? Vous devriez contacter la liste de diffusion. Il y a de meilleurs experts. – Horcrux7