(Difference between revisions)
(Repository management)
Line 240: Line 240:
The IDE is also smarter about detecting repositories: only one repository with a given URL will be shown even if there are conflicting IDs (e.g. "java.net2" vs. ""); and a mirrored repository is displayed using the canonical public URL (while the mirror is used for actual downloads and indexing).
The IDE is also smarter about detecting repositories: only one repository with a given URL will be shown even if there are conflicting IDs (e.g. "java.net2" vs. ""); and a mirrored repository is displayed using the canonical public URL (while the mirror is used for actual downloads and indexing).
There are numerous other minor changes in the Maven support, including:
* support for Type and Classifier in the Add Dependency dialog
* Add Module action from the Modules node of a POM project

Revision as of 19:31, 25 August 2011

New And Noteworthy in NetBeans IDE 7.1


Java Editor

Inspect And Refactor

Brand new feature in NetBeans allows you to run selected java hint on selected project(s). You can create your own configurations (group of hints). Tasks like "Convert to JDK 7", "Remove System.outs" are now simplified.



New Refactorings


The Inline refactoring is added to the set of refactorings.

Inline Temp



Inline Method



Inline Constant



Introduce Parameter

Set of "Introduce..." refactorings is now complete with "Introduce Parameter"


New Replace Bar

There is a new Find and Replace UI.



Find Usages

More Scopes

You can choose two more scopes (Current File and Current Package) when using Find Usages.


To have more control over the Find Usages search scope, you can now specify a custom scope.


Tab Reuse

There is a new option to reuse Find Usages tabs.

Change Method Parameters

The Change Method Parameters configuration dialog has a number of improvements.

  • code completion in parameter name, parameter type and return type fields
  • find type dialog for parameter type and return type fields
  • better keyboard navigation

The following enhancements have been added to the change method refactoring

  • change method name
  • change method return type
  • change existing parameters type
  • generate or update javadoc


Javadoc Highlighting and Formatting

Javadoc comments highlighting was improved as well as formatting.



Rename Refactoring has new options

  • rename property's getters and setters
  • rename corresponding Test Class



Introduce Variable/Field/Constant

The Introduce Variable/Field/Constant action now shows list of possible expressions if there is no explicit selection.


Unused Assignment

A new pair of hints, Unused Assignment and Dead Branch, was introduced. The Unused Assignment finds values that are computed and assigned to a variable, but never used by reading the variable. The Dead Branch hint searches for branches of code that can never be executed.


Change Method Return Type

In case the type of the expression after a return statement does not match the return type of the method, a new fix is proposed that adjusts the return type of the method.


Transferring Types Through Copy&Paste

When a Java code is copied, the types that are used by the snippet are recorded. When the snippet is pasted, the user is given opportunity to automatically import these types.

GUI Builder

Gap Support in GridBagLayout Customizer

The redesigned GridBagLayout customizer now features Gap Support. With the new feature switched on the user can easily maintain gap columns/rows of specified width/height between components without any effort. There is no need any more to waste time by manually inserting fillers between components to create visually compelling layouts.


GridBagLayout Customizer Enhancements

The redesigned GridBagLayout customizer now features improved layout editing capabilities. Important component properties are now marked visually: insets (see jFormattedTextField1 and the slider), internal padding (see jTextField1 and JButton1), REMAINDER size (see right edge of jTextField1 and the slider).


Java EE


Cluster and Instance Deployment - see more information in Vince Kraemer's blog at

Web Services

  • Jersey binaries are updated to version 1.8 ( see issue 198777 )
  • IDE Registered WS ( Saas ) is available for WS Client creation.


  • OWSM support is added for WL server: "Insert Code" editor popup menu action -> "Call Web Service Operation..." generates OWSM related code if applicable.
  • OWSM support is added for web service (with WL as target JEE server ): "Edit Web Service Attributes" popup menu action shows dialog with OWSM security policy list.



  • Generate interceptor for interceptor binding ( see issue 195412 ): editor popup menu "Insert Code..."


  • Decorator resolution : extended context for Inspect CDI action (for class element)


  • Interceptor resolution: extended context for Inspect CDI action (for class or method with interceptor bindings )



JavaServer Faces

  • Extended possibilities for JSF component libraries


  • Support for RichFaces 4



  • Code completion in EL offers Spring beans and their properties




  • Wizard for creating sample Timer SessionBean




  • code completion for table names, column names and pu names





  • persistence.xml design view editor enhancement, properties panel is added and support to add and edit recognized properties for jpa 2.0 eclipselink and hibernate providers.


(S)FTP client

Debugger improvements


  • test groups TODO add link to blog

Project System

--open-group, --close-group

You can now open and close project groups as the IDE starts, using new command-line options. As usual, --help gives details.


Find Usages

The Find Usages dialog will now show references to classes (or other types) from among artifacts in the local Maven repository. (If your user directory predates this feature you may need to reindex the local repository in the Maven Repository Browser tab.)

Generated test sources

Test source roots matching the pattern target/generated-test-sources/somedir are now included alongside src/test/java.

Also, special test source roots may be configured via build-helper-maven-plugin:add-test-source.

Code completion

The POM editor and a few dialogs offered completion on plugin goals, parameters, and similar information. Formerly this was based on a badly outdated static index; completion is now based on the regular repository indices.

Merged JAR handling

Earlier versions of the IDE had difficulty with dependencies on "shaded" JARs, because the IDE normally looks to the owning source project for authoritative information for background compilation, code completion, etc. - so imports of transitively included classes did not appear correctly in the editor.

Now the IDE treats the actual dependency JAR as authoritative, even if a source project is available, when the project uses the Shade or Bundle plugins. (If you make a change to a transitively included class, rebuild the shaded JAR to make the IDE's editor recognize the change.)

Missing dependencies

The IDE now does a better job of locating artifacts (dependencies or parents) not yet in the local repository but available in the reactor, and immediately refreshes projects missing other artifacts (including plugins) once those become available in the local repository. For best results, open the root aggregator POM project first, then modules.

"Reloading online" is gone; it was difficult to control and did not correct all problems. Now when you open some projects from a reactor which seem to be missing artifacts, a notification icon appears with a suggested build step.

Repository management

Maven Repository Browser used to add a permanent repository definition when you opened a project with a custom repository, leading to clutter. Now only Local is predefined; any remote repositories (including Central) defined in your projects will be displayed when those projects are opened, and disappear when closed.

You can still manually add custom repositories if you want, but generally it is better to define them in your projects (or profiles in settings.xml). Custom repository definitions defined in NetBeans 7.0.1 and earlier will not be carried over automatically.

The IDE is also smarter about detecting repositories: only one repository with a given URL will be shown even if there are conflicting IDs (e.g. "java.net2" vs. ""); and a mirrored repository is displayed using the canonical public URL (while the mirror is used for actual downloads and indexing).


There are numerous other minor changes in the Maven support, including:

  • support for Type and Classifier in the Add Dependency dialog
  • Add Module action from the Modules node of a POM project


Code completion

Code completion on tasks (and types) will display documentation from the Ant Manual when this add-on is installed.


Test Results window integration

"Show Test Failures" now displays results in the Test Results window as well as the Output Window.

Task List

Warnings collected by the static code analysis plugins will now be displayed in the Task List when "open projects" scope is selected.


You can now log in to a server without being prompted. This is useful especially for servers which have some private jobs that are hidden from anonymous users.

Git support

Team > Create Build Job now recognizes a local project using Git.

The IDE can also show the changelog for a Git-based project (though without hyperlinks to the Diff window for details).



It is possible now to register a Versioning System via the @VersioningSystem.Registration annotation. See javadoc for more information.

Git Support Finalized

Complete Git Version Control support is now part of the standard distribution and available right after installation of the IDE. It allows users to work with local clones as well as provides possibility to clone, fetch, pull or push remote repositories. See Git main page for more information.






Lock Feature

User actions allowing locking and unlocking files were added to the menu. It is also possible to enable on demand locking for files with svn:needs-lock property set.

Shelve Changes

Allows you to put your local changes aside (shelve) and start working on a different features.

File: UnshelveChanges1.png

When you finish the new feature you can apply the old changes (unshelve) and continue working on them.

File: UnshelveChanges2.png


Redesigned Changeset Picker Dialogs

Merge, Update, Revert and other similar dialogs were redesigned to be more user-friendly. It is now possible to filter display changesets, the changesets are labeled with tags or branch names if they have one and they are displayed in a list instead of a combo.



Basic support for branches and tags added. Projects are now labeled with a branch/tag name, it is possible to create branches or tags, close branches, manage tags and switch between branches


Local History

Revert Deleted

Its possible now to pick particular files to be undeleted


History Tab

Use the History tab in a files editor to easily access its Local History view



Issue Tracking

Issue Views

  • undo/redo facility in text areas
  • improved issue comment UI and functionality (expand/collapse,...)



Added Time tracking, Reset Assignee to Default, Open web browser directly from URL field

Platform & NetBeans Module Development

Separate cache directory

You may now use --cachedir to specify an alternate location for the var/cache/ portion of the user directory (--userdir). If your userdir is on a slow or network filesystem, it is a good idea to use a cachedir on a fast local disk.

Soon the Windows launcher will be modified to use standard Windows locations for both the userdir and cachedir, which should behave well with networked profiles.

Window System

API: New WindowSystemListener to receive notifications before/after the window system loads/saves.

API: Support for multiple window layouts (aka perspectives or roles), see WindowManager.setRole(String)

Usability: Close/minimize/float/drag the whole window group.

Window main menu:


Context menu of non-document window:


Context menu when clicking outside non-document tab:


Context menu of document window:


Context menu when clicking outside document tab:


Ant-based Apps

It is now possible to download the platform (and harness) from your suite's build script, so you do not need to either define a platform location externally or check the platform into source control. See harness/README for details. (No GUI customization support yet.)

Maven-based Apps

<this layer in context> and the Branding dialog now work directly on dependencies in the repository, so there is no need to do a build of your application before using these features. (The IDE will however download any required module JARs not yet in your local repository.)

XML Layer

New projects are now created without an XML layer, but there is now a New File wizard to add a layer to a project without one if you need it. (Many modules can do without an explicit layer, since Java annotations can produce common registrations such as menu items.)


@TemplateRegistration is now available for file and project templates.

Visual Debugger

The Visual Debugger is introduced. It allows to debug the application without looking into the source code and helps to control the execution flow in terms of high-level structures.

Visual Debugger is a part of ordinary Java debugging session in NetBeans. Action Debug -> Take Screenshot in the main menu is enabled when the debugged application opens a Swing GUI. The action take screenshot of the application GUI that serves as a basis of the Visual Debugger functionality.


Screenshot of Anagram Game application taken by Visual Debugger is displayed in Editor area. Individual components can be selected and their properties are visible in Properties window.


Component hierarchy of Anagram Game application is visible in Navigator.


Events window displays currently attached listeners to the selected component and allows to add a logging listener whose output will be displayed under the Event Log node.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo