It had been a while since I had used JBuilder 2006Enterprise, so I wanted to do a little test since the Java JDK 7.0 was just released. Now over the years I heard people talk about how “future proof” the Eclipse framework/platform was or would be. This was always something that bothered me, what is future proof?
So I loaded up JBuilder 2006Enterpriseand let me first say, wow, what a great coming home. Don’t get me wrong, I don’t mind Eclipse based Java IDEs, but wow again, it was focused, fast, and had all the tools at my fingertips and could just get the job done.
The first thing I wanted to do was to see if any JDKs, except for the base JDK that was shipped in the product, worked. I clicked the Tools|Configure|JDK’s menu item.
As you can see, the only JDK known by the IDE is JDK 1.5.0_03-b07. So the first test I wanted to do was add JDK 6.0 update 26 and see if I could get it to load and use the JDK for a project I built.
So I clicked the New… button and started the wizard.
New JDK Wizard
I then pointed the IDE to the JDK 1.6.0_26 and clicked the OK button. It returned to the wizard with the needed information filled in.
New JDK Wizard
I then clicked the OK button to continue. This returned a newly added JDK 1.6 to my IDE.
Now it was time to do a couple of quick tests on the JDK and the IDE, and see if it could handle the new JDK or if the IDE, which is written in 100% Java was NOT “future proof” and would be in today’s terms an Epic Fail!
First, I wanted a simple Command-line Java program, using the wizards, I created a simple project, pointed to the newly added 6.0 JDK and wrote one line of code; System.out.println(“hello world!”); hit the run button, and it worked like a champ!
Second, I created a Swing application using the wizard, added a couple of extra lines, added some additional buttons with code, and BAM, worked again like a champ!
I then made some changes to my startup JBuilder.config file and added InterClient.jar (InterBase 2009 and XE) to the system and created a quick CRUD application using dbSwing components, and BAM, worked like a champ!
IDE running CRUD application using JDK 6.0x
Here is the running Application:
Ugly quick CRUD application
I know, ugly, but that was not the reason for writing the code! The test was to see if JDK 6.0 would work with a product that was written with JDK 5.0 (1.5.x) and work well. The answer so far is yes, and the debugger is great as well. All of the normal features work well.
Now I tried to do a quick Tomcat web-application with a Servlet and another with a JSP using the latest Tomcat 7.0.19. This has not worked as of yet, but I’ve only spent maybe 20 minutes on the setup… plus, the web-applications are much more different now and that area of Java has changed significantly, so it may be the fact that JBuilder 2006 released in 2005 can’t handle the web side well, but I will have to play a little longer on that if I want to see if it works.
Now what about the newly released JDK 7.0, the first Java JDK from Oracle? This is not a review of the JDK, as there are a lot of things and writings on JDK 7.0. This is more of an attempt to see if I can get it to work in JBuilder 2006Enterprisereleased in 2005 written in JDK 5.0.
Added JDK 7.0x to the JBuilder 2006 Enterprise IDE
I Added the JDK with no issues.
I then tried the same programs as before to see how the old JBuilder handled them.
Added New Runtime Configuration to the JDK 7.0 project
I setup the configuration to run the Application… well can’t have everything:
First compile attempt: FAIL!
Most likely I know where the error is:
Using the old Borland Make based on JDK 1.4 compiler
Pointing to the JDKs internal compiler, using 7.0's compiler
The internal compiler needs to be changed as it was using the Borland Make based on the JDK 1.4 compiler found in JBuilder 8!!! Changed that to the Project javac compiler and pressed the OK button.
Hit the run button and had the following happen:
Now it works...
Printed Hello World just like I thought it would.
While it worked, there are still issues...
While it does work and I can get things to compile, the code editor is a little out of whack. The debugger is not working at this point, but that could be for a variety of reasons. I may have to investigate this a little more. The Swing Application does work, but again I have some issues with the editor and compiler working correctly but this could be a low-level configuration that I’ve not fixed or DON’T REMEMBER!
Generated Swing application using JDK 7.0 and 7.0's Swing
However, as you can see, there are issues with the Swing Designer, which again could be a configuration issue or something to do with the changes in JDK 7.0.
Swing designer issues
However, the fact that I got JDK 7 to load, compile, and execute a simple Java application, and a simple Java 7 Swing application, is a fairly strong comment on the fact that JBuilder 2006 while not perfect. I also wanted to see if I could get the CRUD application working. Since the Swing designer was broken, I loaded the CRUD application I created with JDK 6.0 and just changed the JDK settings.
Setting the projects JDK from JDK 6.0 to JDK 7.0
I then also needed to change the compiler as I did before:
Setting the internal compiler to JDK 7.x
I pressed the OK button, did a Save All and hit the Run button.
Running simple CRUD application using JDK 7.x
Well, as you can see the CRUD application ran with no issues, the application is still ugly, but it works, and with NO coding changes. Just to verify the JDK being used, check the red box, it shows the command-line used (another great feature) of JBuilder 2006Enterprise.
I was also able to get other things to work really well, check out the UML visualization tab using JDK 7.0 as the base JDK.
Using some of the advanced tools like UML Visualization
While this does not change the above limitations so far, the fact that JBuilder is working, using, and displaying things from JDK7 does show that JBuilder 2006 is fairly future proof!