2011-01-11 7 views
4

Wir entwickeln derzeit eine kommerzielle Desktop-basierte Anwendung in Java mit Rich Client Platform Framework von Netbeans/Eclipse. Die IDEs (Netbeans/Eclipse) bieten ein nettes integriertes Installationsprogramm zum Packen der Anwendung. Das einzige Problem ist, dass unsere Endbenutzer JAR-Dateien während der Bereitstellung sehen können und wir nicht genügend Schutz für unser geistiges Eigentum haben, da Reverse Engineering möglich ist. Code-Verschleierung kann verwendet werden, um die Auswirkungen zu minimieren, kann sie aber nicht vermeiden. Wir waren auf der Suche nach Open-Source-Lösungen/Produkten, die uns helfen können, unser Problem zu mindern, indem wir unsere Anwendung direkt in nativen Code umwandeln, ähnlich dem, was AOT tun soll.Implement Ahead of Time-Kompilierung (AOT) für Java-basierte Anwendungen

Vielen Dank im Voraus für Ihre Hilfe.

-Bhan

+0

Abgesehen vom Thema, haben Sie die Auswirkungen der Verwendung von RCP geschätzt (was GPL/LGPL i raten Sie) und andere Open-Source-Bibliotheken zur Lizenzierung Ihres eigenen Produkts? – Osw

+0

@Osw: Der Eclipse RCP verwendet die Eclipse Public License (EPL) und die Dual-Lizenzen der Netbeans Platform mit CDDL und GPLv2. –

+0

Lizenz weise, wie von Donal Netbeans Plattform richtig darauf hingewiesen, ist doppelte Lizenz so kein Problem. Aber gibt es noch andere vorhersehbare Auswirkungen, die wir berücksichtigen müssen? – bhan

Antwort

0

dies wurde bereits hier diskutiert: How do I create an .exe for a Java program?

+0

Korrigieren Sie mich, wenn ich falsch liege, aber beinhaltet diese Frage nicht die Einbettung von JAR-Dateien in ausführbare Dateien * als Ressourcen *? Es ist immer noch Java Bytecode, richtig? –

+0

Das Problem ist für eine normale JAR-Datei, die diese Konvertierungen tun, aber im Falle einer Rich-Client-Plattform wie Netbeans/Eclipse ist es nicht so einfach. Daher wollte wissen, wie es für solche Anwendungen getan werden kann. – bhan

-1

Sie können transform an Eclipse RCP applications into a real EXE (oder Linux binär), die kein Bytecode unter Verwendung des Produkts meine Firma macht. Ein AOT-Compiler muss im Allgemeinen die inneren Abläufe eines solchen dynamischen Frameworks oder Containers kennen, insbesondere das Laden seiner Klasse, andernfalls wird der ursprüngliche Bytecode zur Laufzeit für Konsistenzprüfungen und eine mögliche JIT-Kompilierung benötigt. Unser Produkt "weiß" nur noch über Eclipse RCP und Apache Tomcat Classloader (es wusste natürlich immer über die Standardklassen).

+0

Ich denke, er erwähnte Open Source –

+0

@RomanticElectron Es gibt keine Open Source AOT Compiler, die tun können, was er braucht. Er erwähnte auch die Entwicklung einer * kommerziellen * Anwendung. Für nicht-kommerzielle Nutzung haben wir freie Lizenzen verfügbar. –

+0

@Dmitri Leskov Was denkst du über jRate, hier ist der Link: http: //sourceforge.net/p/jrate/wiki/Home/ –