JBuilder 8 contains major improvements in developer productivity, project management, and the build system. The Borland Web Services Kit for Java has been incorporated into this release. There is also a new set of features that helps development with the Struts Open Source framework. There have also been improvements to many other areas of the product, as listed in this document.
Specific areas of change are as follows:
JBuilder 8 is now hosted on JDK 1.4.1, in order to take advantage of performance and productivity improvements. These include faster performance in the client, mousewheel and drag-and-drop support, improved focus management, Section 508 compliance for accessibility, and, on Linux, more predictable UI behavior.
Project management has been extended to include new features.
You can now drag and drop files from the desktop into the project pane so that they become part of your project. The file must be a type that JBuilder recognizes. The file is opened in the editor, but not added to the project. If you want the file added to your project, add it using the Add Files/Packages button at the top of the project pane.
The quickest way to create a new empty file in a JBuilder project is to use the Create New File dialog box accessed with the File|New File command.
This is a feature of JBuilder Enterprise.
JBuilder now has project groups. Project groups are containers for projects and can be useful when working with related projects. For example, you might have two projects that have dependencies on each other, such as a client and a server. Another logical grouping would be projects that use the same source files but have different settings, such as different target application servers or different JDKs. In addition, project groups provide other advantages, such as ease of navigation between projects and building projects as a group.
For information about project groups, "Working with project groups" in Building Applications with JBuilder.
This is a feature of JBuilder Enterprise.
You can now add a directory view to your project which points to any directory of your choosing. A directory view is much like a live view of your directory or directory tree that displays all file types. Once you've created a directory view and when changes occur to the actual contents of the directory or its subdirectories, the directory view will be updated in the project pane. For information about directory views, see "Adding a new directory view" in Building Applications with JBuilder.
JBuilder has a new Import VisualCafΘ Project wizard that creates a new JBuilder project and imports all the VisualCafΘ project files into the JBuilder project. To use this wizard, choose File|New and click the Import VisualCafΘ Project icon.
If you have a project that is dependent on another, you can add the project upon which your project is dependent to the list of required libraries for your project. Use the Required Libraries tab on the Paths page of the Project Properties dialog box.
The debugger includes the following new features, as well as various productivity updates:
This is a feature of JBuilder Enterprise
If you change source code while debugging, Smart Swap modifies, compiles and updates the modified files. You continue debugging in the same debugging session. With Smart Swap, you can test your code, make changes, and continue in the same session from the current execution point. For more information on Smart Swap, see "Modifying code while debugging" in the "Debugging Java programs" chapter of Building Applications with JBuilder.
JBuilder's Smart Swap feature is based on the Hot Swap technology in JDK 1.4.
This is a feature of JBuilder Enterprise
Set Execution Point allows you to set the execution point for the current stepping thread. This will change the execution point from its current location. You may want to set the execution point after you use Smart Swap. For more information, see "Setting the execution point" in the "Debugging Java programs" chapter of Building Applications with JBuilder.
This is a feature of JBuilder Enterprise
Smart Source allows you to change the view of your code, so that you can view either the Java source code or the non-Java source code while debugging. For more information, see "Debugging non-Java source" in the "Debugging Java programs" chapter of Building Applications with JBuilder.
JBuilder's Smart Source feature is based on the JSR-45 technology in JDK 1.4.
JBuilder 8 includes the following debugger productivity updates:
These are features of JBuilder Enterprise
JBuilder's unit testing support has been expanded to support server-side testing with Cactus. JUnit support has also been enhanced. Here's a list of new unit testing features.
This is a feature of JBuilder Enterprise
The UML page has been removed from Project Properties and the two options on that page have moved to other property pages:
Packages and classes that aren't shown in the UML diagram now display in a lighter color in the structure pane. They aren't displayed if they're filtered out or if they're redundant and removed for clarity.
These are features of JBuilder Enterprise
A new set of JBuilder features helps web development with the Struts Open Source framework. Struts is based on the Model 2, or Model-View-Controller, approach to software design. In this framework, the model contains the data, the view is the presentation of the data, and the controller controls the interaction between the model and the view. The view is typically a JSP page. The controller is a Struts servlet called ActionServlet.
The model can be any data access technology, from JDBC to an EJB. This framework, which is a collection of classes, servlets, JSP tags, a tag library, and utility classes, provides a clean division of the HTML from the Java code, and the visual presentation from the business logic.
JBuilder's feature set provides wizards and tools that allow you quickly create a Struts-enabled web application. Tools and wizards include:
web.xml
filestruts-config.xml
file.Action
class for your Struts WebApp and registers it in the struts-config.xml
file. ActionForm
using fields from the specified JSP and registers it in the struts-config.xml
file.ActionForm
and creates a JSP page, populating the JSP with fields from the ActionForm
class. For more information on JBuilder and Struts, see the following chapters in the Web Application Developer's Guide:
Other enhancements include:
This is a feature of JBuilder Enterprise. The web services features vary according to the web services toolkit selected.
The Borland Web Services Kit for Java is now incorporated into JBuilder 8 with further feature enhancements. For more information, see Developing Web Services in the online Help.
Although it's useful to learn about the technologies behind web services, JBuilder provides wizards and tools for quickly developing and consuming web services. JBuilder works with a variety of web services toolkits. Once a toolkit is selected, the JBuilder wizards use the toolkit to enable projects for web services, import services, and export Java classes as web services.
Exporting Enterprise JavaBeans (EJBs) as web services in JBuilder requires no additional work other than configuring the project for web services. Simply develop your EJB application as usual, configure the project for web services with the Web Services Configuration wizard, and run the project with the Web Services Server run configuration created by the wizard. By default, JBuilder automatically exposes all the stateless session beans with business methods in the remote interface. You can also override this default behavior and select only the EJB modules, beans, and methods that you want to expose as web services.
Web services features in JBuilder, which vary according to the toolkit selected, include:
The JBuilder web services wizards are located on the Web Services page of the object gallery (File|New):
JBuilder also provides these tools for working with web services:
This is a feature of JBuilder Enterprise
The SAX Handler wizard (File|New|XML) has been updated to use JAXP (Java API for XML Processing), which has been added to JDK 1.4. The wizard also allows you to specify a JAXP parser or Xerces for parsing. In addition, the wizard has a new runtime configuration page.
This is a feature of JBuilder Enterprise
For more information on the Cocoon features, see the XML Developer's Guide.
This is a feature of JBuilder SE and Enterprise
There is a new option on the XML page of the IDE Options dialog box (Tools|IDE Options), Ignore DTD. By default, JBuilder ignores DTDs in the editor. When this option is checked, JBuilder doesn't resolve the DTD and doesn't report any errors in the structure pane. This makes it possible to work offline and also results in faster response time if you're working online. If this option is checked, the editor must resolve the DTD each time and also reports any errors in the structure pane.
The Runtime Configuration Properties dialog box has been re-designed. The Run tab contains a drop-down list from which you can choose the type of application, rather than tabs. When you choose Edit or Copy, this list is not available for modification, although the type of application is displayed in the field. The Build Target field has moved to the top of the dialog box.
JBuilder now includes an OpenTool runtime configuration type which lets you run, debug, and optimize your OpenTool project in JBuilder just like other projects. You no longer have to exit JBuilder, create a JAR file and copy it to the <JBuilder home>\lib\ext
or <JBuilder home>\patch
directory, then restart JBuilder.
When you run an OpenTool project using the OpenTool runner, a temporary config file is generated in the <outpath>\...\config-temp
directory, and a new instance of JBuilder is started using this temporary config file. This configuration file will be removed when the tracker is closed. To use the OpenTool runner in your project, choose Run|Configurations... and create a new runtime configuration, selecting Open Tool as the type to create.
Ant has been updated to version 1.5.1.
There are several new Ant features:
These are features of JBuilder Enterprise
build.xml
files display in the project pane with the relative path. If you want to turn this option off, right-click the build.xml
file in the project pane, choose Properties, choose the Ant tab, and uncheck Show Relative Path. build.xml
files recursively in the wizard.Several changes have been made to the Build page of Project Properties. For more information on the options, click the Help button.
The Java page includes these changes:
The new General page includes these options:
These options vary by JBuilder edition
Some of these options have been moved from other pages.
This is a feature of JBuilder Enterprise
A new Ant option, Use Project JDK When Running Ant, uses the project JDK when running Ant.
This is a feature of JBuilder Enterprise
You can now add custom targets to the Project menu.
This is a feature of JBuilder Enterprise
There's a new Web Services page with the option, Regenerate Deployment. This option determines if JBuilder overwrites the web services deployment files.
This is a feature of JBuilder Enterprise
Subprojects within a project group are built in the order they appear in the project pane. You can change the build order of subprojects within a project group on the Build page of Project Group Properties (Project|Project Group Properties).
In addition, you can customize menu items for building project groups on the Menu Items page of the Build page of Project Group Properties (Project|Project Group Properties).
For more information on project groups, see "Project groups."
Automatic source discovery and archiving are features of JBuilder SE and Enterprise
If you have file types that aren't recognized by JBuilder, you can associate them with the generic resource file type. Then JBuilder will recognize them and include them in the automatic source discovery process. You'll also be able to bundle them into archives. For example, JBuilder doesn't recognize Flash files, but you might want to access them in your project and deploy them to an archive with the rest of your project. To bundle an unrecognized file type in an archive is a two-step process. First, you need to add it as a recognized file type. Then you need to set it to copy to the output path when the archive is built.
Important: By default, any file type added as a Generic Resource File is not included in archives. You need to set the new file type to copy to the output path on the Resource tab of the Build page in Project Properties. Continue on to the next step to do this.
The build system OTAPI now allows you to listen for the creation and deletion of some build output. See the BuildListener.buildOutputEvent()
method, as well as the BuildOutputEvent
class and its
subclasses. This is also discussed in the "Build Systems Concept" document in Developing OpenTools.
Changes have been made to archive deployment, as well as changes to creating executables and executable run configurations.
This feature varies by JBuilder edition
When creating archives using the Archive Builder and the Native Executable Builder and when creating WAR archives, you can now exclude dependencies from the archive. The Contents page of the archive node, the Classes page of a WebApp node, and the equivalent step of the Archive Builder and the Native Executable Builder, Specify The Parts Of This Project To Archive, have been reworked to add this new feature.
Choose from these combinations for classes and resources:
For complete control over the classes and resources included in the archive, choose Specified Only and use the Add button to add the classes and resources you want included. If you choose Specified And Dependent, classes that you add with the Add Classes button are added to the archive, as well as any classes on the output path that the added classes depend on.
For example, if you want to include all the project classes and resources in the archive, you would select All for both classes and resources. If you don't want to include any dependencies in your archive and only specified resources, you would choose Specified Only for both classes and resources and then add the classes and resources you want with the Add Classes and Add Files buttons. To add classes and files, classes must be on the project output path and files must be on the project source path.
For EJB modules, classes that are referenced in the bean's deployment descriptor are automatically added to the JAR. Therefore, the Content page of an EJB module's Project Properties dialog appears much like the corresponding page for any other archive, except the word Specified is replaced with the word Required in each instance. You can use this page to exclude dependencies on classes you list as required. Classes referenced in EJB deployment descriptors are not affected.
This is a feature of JBuilder SE and Enterprise
The Archive Builder has a new archive type, Executable JAR. Select this type when you want to make an existing JAR into an executable. You can also set a runtime configuration for the executable.
The Contents page of the archive node and the equivalent step of the Archive Builder and the Native Executable Builder, Specify The Parts Of This Project To Archive, has been reworked to allow you to exclude dependencies. See "Excluding dependencies from archives."
If you choose <Auto Select> as the configuration on the page, Selecting A Method For Determining The Application's Main Class, the project runtime configuration marked as default is used to run the application, including any runtime parameters. If there isn't a default or the default isn't an Application runtime configuration, the first Application runtime configuration in the project runtime configuration list is used. See Run|Configurations for a list of runtime configurations for the project.
This is a feature of JBuilder SE and Enterprise
You can now only create executable files with the Archive Builder if you select the Native Executable or Executable JAR (for existing JARs) archive type. Steps for creating executables and adding run configurations have been removed from the Application archive type. As before, you can also use the Native Executable Builder to create executables.
If you choose <Auto Select> as the configuration on the page, Selecting A Method For Determining The Application's Main Class, the project runtime configuration marked as default is used is used to run the exeuctable, including any runtime parameters. If there isn't a default or the default isn't an Application runtime configuration, the first Application runtime configuration in the project runtime configuration list is used. See Run|Configurations for a list of runtime configurations for the project.
This is a feature of JBuilder SE and Enterprise
When you're creating executables with the Native Executable Builder or the Archive Builder, you can now create or overwrite the configuration file that specifies the runtime configuration settings for the executable. These configuration settings are available on the last page of the Native Executable Builder and the Archive Builder. Choose from the following options:
Note: If you choose to save a copy or override the configuration, the configuration file is added to the project.
You can modify these configuration settings after creating the executable. Right-click the native executable or archive node in the project pane and choose Properties. Then choose the Runtime page, make your changes, and rebuild the archive node.
For information on creating configuration files, see "Creating configuration files for native executables" in Building Applications with JBuilder in the online Help.
JBuilder has new productivity features.
You can now undock the message pane so it becomes a free-floating window that you can position on your screen as you like.
You can determine how long you want messages on the status bar to remain on the status bar before they clear using the Tools|IDE Options|Browser|Status Message Timeout option.
The Find/Replace and Find In Path/Replace In Path dialog boxes available from the Search menu now allow you to search using regular expressions.
Most of the productivity enhancements focus on the editor.
You can drag and drop selected text in the editor. Highlight the desired text then drag it with the mouse to the new location. If you are moving an entire line of text, and the Smart Paste option is selected in the Editor Options, the line will be automatically indented for you when you drop it on the new line.
The editor now displays line numbers in the left margin. This feature can be turned on and off with the Line Numbering option on the Editor page of the Editor Options dialog box (Tools|Editor Options). To quickly turn off the line numbering, right-click in the line number margin and uncheck Show Line Numbers.
There are shortcuts in the editor to selecting blocks of text or lines. Using the line numbering display in the gutter margin, you can select an entire line, a block of lines, or all the lines.
Some of these formatting options are only available in JBuilder Enterprise
You now have the ability to specify your formatting preferences and automatically format your source code. To access these settings, choose Project|Project Properties and click the Formatting tab. The tabs on this page allow you to customize your code formatting by specifying the following types of preferences:
On each page is a Preview window that displays what the selected preference will look like.
To apply the formatting to your code, open a file in the editor and choose Edit|Format, or press the Tab key.
Note: Smart Diff is a new feature to filter out code formatting changes when comparing files. When Smart Diff is enabled, format-related changes, such as the location and number of blank lines, the amount of indentation, or the use of spaces, are ignored when you use JBuilder to compare two versions of a file. The Smart Diff button for enabling or disabling Smart Diff is located on the Diff page in the history view, and on the Diff View of the Compare Files dialog box. Smart Diff is a feature of JBuilder SE and Enterprise.
You can also export your code formatting preferences, or import previously saved preferences using the Import and Export buttons at the bottom of the Formatting tab in the Project Properties dialog box.
There is a magnifying glass icon at the bottom of the editor that lets you instantly adjust the size of your text. Click the icon to zoom in and enlarge the text, or click the down-arrow beside the icon and choose Zoom In. To zoom out and decrease the size of the text, click the down-arrow beside the icon and choose Zoom Out. To return to the default text size, click the down-arrow and choose Normal.
You can quickly change the keymap used by editor with the keymap selection tool found on the editor status bar. Clicking the keymap name text (such as CUA or Macintosh) on the status bar returns the keymap to the last selected keymap, thereby allowing two users to conveniently share the keyboard. Click the arrow to display a list of keymaps so you can select from among all available keymaps.
Numerous changes have been made to improve the integrations of supported version control systems.
This is a feature of JBuilder SE and Enterprise
A Merge Conflicts page has been added to the history pane. The Merge Conflicts page lets you view and resolve conflicts between a file in file in your workspace and the corresponding file in the version control repository. The Merge Conflicts page displays side-by-side views of the workspace source and the repository source for the file, with the conflicting changes highlighted. Radio buttons to the left of the conflicting changes are used to choose which changes to keep, and a preview pane at the bottom of the Merge Conflicts page shows how the file will look when you apply the selected changes. The Merge Conflicts page supports merge conflict resolution for Java files, as well as text files, such as XML, HTML, and EBJ Group files.
Note: Merge conflict resolution within JBuilder is only supported in CVS (CVS integration is a feature of JBuilder SE and Enterprise) and Visual SourceSafe integrations (VisualSource Safe integration is a feature of JBuilder Enterprise).
For more information about the Merge Conflict page, see "CVS in JBuilder" and "Visual SourceSafe in JBuilder" in Team Development Using JBuilder.
CVS integration is a feature of JBuilder SE and Enterprise
There are two key improvements to the CVS integration:
pserver
connection protocol.Note: Because of this added ability to scan for modules and branches in the CVS repository, CVS Helper support has been removed from JBuilder.
For information on using the CVS enhancements, see "CVS in JBuilder" in Team Development Using JBuilder.
ClearCase integration is a feature of JBuilder Enterprise
Many changes have been made to improve the integration of Rational ClearCase for version control and configuration management:
The new Status Browser (Team|Status Browser) is primarily a viewing tool: it browses the active project, and displays the version control status of each changed file, the source for each available version, and differences between any two versions of a changed file.
The new Commit Browser (Team|Commit Browser) provides the viewing capabilities of the Status Browser, and provides access to common version control operations for files that have changed. With the Commit Browser, you can set the version control command you want to apply to each changed file, enter comments for individual files and for the whole group, then execute all of the commands with one click.
JBuilder's ClearCase integration supports the use of both dynamic and snapshot views. Snapshot and dynamic views are created with the ClearCase Create View wizard, which can be accessed from with JBuilder (Team|ClearCase Tools|Create View). The Project For ClearCase wizard opens or creates a JBuilder project for an existing ClearCase view. The wizard mounts a VOB, and starts a dynamic view or snapshot view to access file and directory elements in the VOB. This wizard does a checkout of the files in the project if they are not already checked out.
When working with a snapshot view, you can perform a ClearCase Hijack (Team|Hijack File) to take files out of ClearCase control. This feature allows you to work on files when the ClearCase server is unavailable. Hijacked files can be converted back into checked out files using the ClearCase Update View wizard (Team|ClearCase Tools|Update View).
The ClearCase Properties dialog box provides a Show Console Messages checkbox to enable console output. When Show Console Messages is checked, all ClearCase commands and their generated output are logged in the message pane, in a ClearCase Console page.
JBuilder's ClearCase integration supports reserved and unreserved checkouts. The ClearCase Checkout dialog box lets you specify whether to checkout a reserved version of the selected files, an unreserved version, or to checkout a reserved version unless some other view has a reserved checkout. If you check out a reserved version of a file, that means you have exclusive rights to check in the file. If you check out an unreserved version of a file, you may need to merge changes at checkin time if another user has the same file checked out.
The ClearCase Tools command (Team|ClearCase Tools) opens a menu of commands to launch ClearCase tools, such as the ClearCase Explorer (Team|ClearCase Tools|Explorer). The following commands or tools can be accessed from the ClearCase Tools menu:
JBuilder's ClearCase integration supports the use of the UCM process with ClearCase, or you can use the base ClearCase. UCM is an optional, out-of-the-box process for organizing software development teams and their work products. Using the base ClearCase, you have the flexibility to implement a configuration management solution of your choice.
For more information about JBuilder's ClearCase integration, see "Rational ClearCase in JBuilder" in Team Development Using JBuilder.
J2EE server support is a feature of JBuilder Enterprise.
JBuilder now has support for the Sybase Enterprise Application Server 4.1.
JBuilder has improved WebLogic 7.x support including optimistic concurrency for enterprise beans with container-managed persistence.
Now WebLogic Servers 6.x and 7.x each have their own pages for configuring the server in JBuilder's IDE.
There are incremental improvements in the support for the Borland Enterprise Server 5.02 - 5.1.x servers.
Plug-ins to support the Oracle 9i application servers are provided on your JBuilder 8 product CD in the Oracle9iAS
directory. Please see the README file in that directory for instructions on installing and configuring these plug-ins. Please note that these plug-ins are supported by Oracle. Contact Oracle Technical Support if you have any problems or issues regarding these plug-ins.
For the latest updates for the Oracle9i Application Server plug-ins, and to access plug-ins for previous JBuilder and 9iAS releases, please go to: http://otn.oracle.com/products/ias/9ias_partners.html#development.
This is a feature of JBuilder SE and Enterprise
JBuilder 8 includes a package file editor that allows you to create, edit or remove the package.html
file for individual packages in your project. For more information, see "Package-level files" in "Creating Javadoc from API source files" in Building Applications with JBuilder.
This is a feature of JBuilder SE and Enterprise
The following refactoring commands are now available from the structure pane:
New accessibility features make every part of JBuilder accessible via the keyboard. Assistive devices and software use keyboard-accessible commands.
Standard accessibility strategies are respected in JBuilder. Use the Shift and Ctrl keys for multiple selection. Use Enter to select items from within the IDE. Use Enter or the Space bar to choose items from a menu. Use Tab or Ctrl+Tab to navigate from place to place within the IDE.
Switch between views, such as Source, Design, or History, from the Windows menu.
Select an IDE splitter with the Select Browser Splitter command, so you can resize the content, project, or structure panes without using a mouse.
The View menu now contains a Context Menu command. This command displays the context menu, if any, associated with the current location of the cursor focus. For example, if the cursor is in the editor and you choose View|Context Menu, the editor context menu will be displayed. The keyboard shortcut is Shift+F10.
Float and dock the message pane using the mapped keyboard shortcuts. Consult the keymapping for your editor emulation for the correct keystrokes.
You can change the font size used by the IDE with Tools|IDE Options|Browser|Font Adjustment option.
Add components to your design using the Edit menu. Choose Edit|Add Component to open the Add Component dialog box. Cut and paste to move the component to where you want it in the component tree.
Use Tab or Ctrl+Tab to navigate in the IDE when using the Designer. Focus moves in the following order:
Generally, you can use arrow keys inside an area to navigate within the area.
There is a new FileIO property that can be used to improve the performance of write operations to JDataStore log files. This property can be set in two ways:
Settings made through the extended JDBC property takes precedence over the JDATASTORE_FILEIO system property setting.
This property can be set to the following values:
For more information, see the Javadoc for com/borland/datastore/cons/FileIO.java
and com/borland/datastore/jdbc/cons/ExtendedProperties.java
.