4

We are in process of developing a commercial desktop based application in java using Rich Client Platform framework from Netbeans/Eclipse. The IDEs (Netbeans/Eclipse) provides nice inbuilt installer for packaging the application. The only problem is our end users can see jar files on deployment and we don't have enough protection of our intellectual property as reverse engineering is possible. Code obfuscation can be used to minimize the impact but can't avoid it. We were searching for open source solutions/products which can help us mitigate our problem by directly converting our application to native code something similar to what AOT is supposed to do.

Thanks in advance for ur help.

-Bhan

bhan
  • 61
  • 2
  • aside from topic, have you estimated the impact of using RCP (which is GPL/LGPL i guess) and other open source libraries on licensing your own product? – andbi Jan 11 '11 at 14:32
  • @Osw: The Eclipse RCP uses the Eclipse Public License (EPL) and the Netbeans Platform dual-licenses with CDDL and GPLv2. – Donal Fellows Jan 11 '11 at 15:55
  • License wise as rightly pointed out by Donal Netbeans Platform is dual license so not an issue. But is there any other foreseeable impact which we need to take into consideration? – bhan Jan 12 '11 at 13:49
  • http://stackoverflow.com/questions/4019724/free-aot-java-compiler – Ciro Santilli OurBigBook.com Sep 06 '16 at 07:40

2 Answers2

0

this was already discussed here: How do I create an .exe for a Java program?

Community
  • 1
  • 1
AlexR
  • 114,158
  • 16
  • 130
  • 208
  • Correct me if I'm wrong, but doesn't that question involve embedding JAR files within executable files *as resources*? It's still Java bytecode, correct? – Adam Paynter Jan 11 '11 at 14:43
  • The issue is for a normal jar file these converts do the trick, but in case of Rich Client Platform like Netbeans/Eclipse, it is not that simple. Hence wanted to know how it can be done for such applications. – bhan Jan 12 '11 at 14:04
-1

You may transform an Eclipse RCP applications into a real EXE (or Linux binary) containing no bytecode using the product my company makes.

In general, an AOT compiler must be aware of the inner workings of such a dynamic framework or container, specifically its class loading, otherwise the original bytecode will be required at run time for consistency checks and possible JIT compilation. Our product only "knows" about Eclipse RCP and Apache Tomcat classloaders as of now (it always knew about the standard ones of course.)

Dmitry Leskov
  • 3,233
  • 1
  • 20
  • 17