THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700
rod@welchco.com
S U M M A R Y
DIARY: August 31, 2010 00:21 AM Tuesday;
Rod Welch
Medit Java research on executable support for SDS at DOS prompt.
1...Summary/Objective
........Simplify Java Application Deployment
..............
Click here to comment!
CONTACTS
SUBJECTS
Excelsior Jet AOT Ahead of Time Compiler $2000 Converts Java X86 PC
2403 -
2403 - ..
2404 - Summary/Objective
2405 -
240501 - Follow up ref SDS 4 0000. ref SDS 3 0000.
240502 -
240503 -
240505 - ..
2406 -
2407 -
2408 - Progress
2409 -
240901 - Called Morris and discussed creating a single e.exe file for Medit
240902 - java code, planned during the meeting on 081104 0700, ref SDS 1 267I,
240903 - and cited in the letter yesterday on 100830 0058. ref SDS 4 ME5G
240904 - During the call, Morris asked for research to find a compiler on
240905 - making Java code executable for Microsoft Windows on the PC platform.
240906 -
240907 - [On 100920 1407 Morris seems to be resisting compiling Java
240908 - development code into e.exe. ref SDS 6 I65M
240910 - ..
240911 - [On 111012 2100 Morris experienced same problem on his home
240912 - computer that failed due to conflicts with Java code on his
240913 - home computer that conflicted with Medit code developed by
240914 - Morris using a different version of Java on computers at
240915 - the college. ref SDS 9 TI3H
240917 - ..
240918 - After the call, did some preliminary work and found some sources.
240920 - ..
240921 - Sent a letter to Morris...
240922 -
240923 - 1. Subject: Java convert e.exe
240924 - Date: Tue, 31 Aug 2010 00:41:26 -0400
240931 - ..
240932 - 2. Per out telecon, here is a source that discusses producing
240933 - e.exe for the Java code...
240934 -
240935 - http://www.excelsior-usa.com/articles/java-to-exe.html#aot
240937 - ..
240938 - 3. Another source to check might be...
240939 -
240940 - http://www.duckware.com/jexepack/index.html
240942 - ..
240943 - 4. Can we shoot for Wedensday morning, or afternoon?
240944 -
240950 -
240952 - ..
240953 - After sending the letter found another source that indicated "Ahead of
240954 - Time" compilers may be able to create an e.exe program from Morris'
240955 - Java code. ref SDS 0 GT7F
240957 - ..
240958 - The article presents reasons for doing this to simplify deployment,
240959 - and maintain compatibility...
240960 -
240961 - Convert Java to EXE
240962 - by Dmitry Leskov
240963 -
240964 - http://www.programmersheaven.com/2/Convert-Java-to-EXE
240966 - ..
240967 - Simplify Java Application Deployment
240968 -
240969 - Java compiles to platform-independent bytecode (.class files),
240970 - which is not directly supported by PC hardware. So a Java
240971 - program needs a Java Runtime Environment (JRE) to run, which
240972 - would either interpret the bytecode instructions or compile
240973 - them to native code on the fly. This in turn means that the
240974 - author of that program has to ensure somehow that the proper
240975 - version of the JRE is installed on an end user system.
240977 - ..
240978 - This aligns with Morris' planning to compile Medit java code into an
240979 - EXE file, reported on 081104 0700. ref SDS 1 YD5I
240980 -
240981 -
240982 - [On 100920 1407 Morris seems to be resisting compiling Java
240983 - development code into e.exe. ref SDS 6 I65M
240985 - ..
240986 - [On 110725 0922 SDS and Medit java launch failed on c16
240987 - 64-bit mode likely due to compatibility conflicts with
240988 - java, ref SDS 7 ZH8J, as cited in research in the record on
240989 - 100831. ref SDS 0 GT5G
240991 - ..
240992 - [On 111010 1016 Morris had severe problem recovering from
240993 - transmitting Unit files on college computer to c7 which
240994 - requires Windows 7 files. ref SDS 8 QR7W
240996 - ..
240997 - [On 111012 2100 Morris experienced same problem on his home
240998 - computer that failed due to conflicts with Java code on his
240999 - home computer that conflicted with Medit code developed by
241000 - Morris using a different version of Java on computers at
241001 - the college. ref SDS 9 TI3H
241003 - ..
241004 - [On 111119 1304 SDS java version compatibility conflict
241005 - transferring files from c17 to c16. ref SDS 10 FQ7F
241007 - ..
241008 - [On 111230 1327 problem occurred again trying to launch SDS
241009 - java on c16 after transferring files from c17. ref SDS 11
241010 - VK5G
241012 - ..
241013 - [On 120225 2128 Morris explained problems applying code to
241014 - increase speed and performance using current method of
241015 - calling SDS and Medit java through Netbeans program
241016 - development directories ref SDS 12 LP6F
241018 - ..
241019 - [On 120228 1023 letter to Gary asks for comment on
241020 - compiling SDS java into exe file. ref SDS 13 NQ4U
241022 - ..
241023 - [On 120314 1026 Morris reviewed this article, and updated
241024 - version dated 120222, ref SDS 14 VH5J; seems there are only
241025 - 2 AOT compilers, Excelsior Jet and GJC, latter is open
241026 - source, ref SDS 14 KW7J, Excelsior Jet now available for
241027 - $1,200 with discounts for small businesses. ref SDS 14 ST4F
241029 - ..
241030 - [On 120316 0048 letter thanks Morris for progress improving
241031 - SDS performance, and notified of additional java compiler
241032 - programs to evaluate. ref SDS 15 FH9P
241034 - ..
241035 - [On 120316 0048 at 2238 Morris responds on being convinced
241036 - people care about ahead of time (AOT) compiling SDS java
241037 - into EXE Windows program to improve performance and
241038 - deployment. ref SDS 15 KL6W
241040 - ..
241041 - [On 120325 2206 letter to author, ref SDS 16 J77R, asks for
241042 - clarificattion of compiling scope for Excelsior Jet to
241043 - include java.exe in compiler op for SDS java. ref SDS 16
241044 - J78Y
241046 - ..
241047 - Convert Java to EXE article continues...
241048 -
241049 - In a general case you may not expect that your end users will
241050 - know what a JRE is, how to check its version, and how to
241051 - download and install it. This is especially true for consumer
241052 - applications, such as games or multimedia. And those who
241053 - already have a JRE installed may not like the idea about
241054 - installing a different version, because it may break their
241055 - existing Java applications and favorite applets. Then, even if
241056 - you can make sure the right version of the JRE is properly
241057 - installed on enduser systems, which is quite possible in a
241058 - classroom or enterprise environment, the command line required
241059 - to launch your Java application can be quite long:
241060 -
241061 - java -Xmx200m -cp whatever.jar -Dsome.property MyApp
241063 - ..
241064 - Yes, you may put that line into a batch file and call it
241065 - runme.bat, but it looks so much easier to give your program to
241066 - a friend, teacher or colleague as a single file that can be
241067 - run by a double-click. Or, even better, enable it to be
241068 - installed and uninstalled in a native manner without affecting
241069 - other applications.
241071 - ..
241072 - So it comes as no surprise that the primary motivation for
241073 - seeking a way to convert a Java application into an EXE file
241074 - is to make its deployment and use simpler and safer for an
241075 - average user, that is, a Windows user. What surprises newbie
241076 - Java developers is that the JDK does not offer such
241077 - functionality. Before J2SE 1.4, all you could make with JDK
241078 - tools were
241080 - ..
241081 - The major problem with executable jars is compatibility. The
241082 - default JRE may be of an older version than is required by your
241083 - application or may not have the necessary Java Optional
241084 - Packages (previously known as Standard Extensions) installed.
241085 - For instance, if your app uses the java.nio package introduced
241086 - in Java 2 version 1.4, it will not work on JRE 1.3.x.
241087 - Similarly, if it uses JavaMail 1.3, and the default JRE has
241088 - JavaMail 1.2 or JavaMail is not present at all, the
241089 - double-clicked jar will not run. Fortunately, Sun has created
241090 - a Java application deployment technology that eliminates this
241091 - compatibility problem and adds some nice features. It is part
241092 - of the Java 2 platform since version 1.4 and is called
241093 -
241094 - [On 110725 0922 SDS and Medit java launch failed on c16
241095 - 64-bit mode likely due to compatibility conflicts with
241096 - java, ref SDS 7 ZH8J, as cited in research in the record on
241097 - 100831. ref SDS 0 GT5G
241099 - ..
241100 - [On 111012 2100 Morris experienced same problem on his home
241101 - computer that failed due to conflicts with Java code on his
241102 - home computer that conflicted with Medit code developed by
241103 - Morris using a different version of Java on computers at
241104 - the college. ref SDS 9 TI3H
241106 - ..
241107 - Java Web Start
241109 - ..
241110 - All the above solutions do not change the fundamental principle
241111 - mentioned in the first section of this article. Whether you
241112 - make an executable jar or create a sophisitacted installer,
241113 - your Java program is still deployed as platform-independent
241114 - bytecode. In the early days of Java, the only way to execute a
241115 - Java program on a common PC hardware was to interpret that
241116 - bytecode. Today, any decent J2SE implementation contains a
241117 - Just-In-Time (JIT) compiler that compiles frequently executed
241118 - methods to native code. So it sounds quite natural to take one
241119 - step further and compile the entire application down to native
241120 - code before it is deployed. Such tools exist and they are
241121 - called
241123 - ..
241124 - Ahead-Of-Time Compilers
241125 -
241126 - [On 120325 2206 letter to author, ref SDS 16 J77R, asks for
241127 - clarificattion of compiling scope for Excelsior Jet to
241128 - include java.exe in compiler op for SDS java. ref SDS 16
241129 - J78Y
241131 - ..
241132 - Tools.............. Excelsior Jet
241133 - GCJ
241134 - Newmonics
241136 - ..
241137 - Excelsior Jet
241139 - ..
241140 - This has a website where the product can be tried...
241141 -
241142 - http://www.excelsior-usa.com/jet.html
241144 - ..
241145 - Another source describes Excelsior Jet costs $2K....
241146 -
241147 - http://download.cnet.com/Excelsior-JET/3000-2213_4-10044390.html
241148 -
241149 - [On 120314 1026 Morris reviewed this article, and updated
241150 - version dated 120222, ref SDS 14 VH5J; seems there are only
241151 - 2 AOT compilers, Excelsior Jet and GJC, latter is open
241152 - source, ref SDS 14 KW7J, Excelsior Jet now available for
241153 - $1,200 with discounts for small businesses. ref SDS 14 ST4F
241154 -
241155 -
241156 -
241157 -
241158 -
241159 -
2412 -