System properties can influence the behaviour of the running IDE in various ways. The most convenient place to specify them is in etc/netbeans.conf file. This page summarizes the list of such extension points defined by modules with API.
VirtualMachine.setDebugTraceMode() method. See the javadoc
of that method for the description and possible values.
org.netbeans.core.startup.Main).
Might be used by alternate launchers.
user.dir.
core/*.jar files has been initialized
and the user dir has not yet been updated (see bellow) the
launcher checks for value of netbeans.importclass
system property and if provided it loads that class and invokes
its main method (in AWT thread) and if no exception is thrown it
marks the userdir as already upgraded.
Launcher calls method showLicensePanel of netbeans.acceptlicenseclass
if license was not yet accepted by user and it is necessary to show license
in dialog to user.
Controls whether to log messages to the console, or just to the log file.
Setting this property to less than zero value enables logging of what is
going on in the CLIHandler - e.g. in the code that locks user directory and
handles processing of command line options. Use -J-Dorg.netbeans.CLIHandler=-1
to send the logging to System.err.
Contains class name of a class that can serve as provider of the writable layer of the
system file system. The class must be a subclass of
org.openide.filesystems.FileSystem and have public default constructor.
Morevoer the class denoted by the property must be on the classpath.
System.exit.
One can disable this behavior by providing -Dnetbeans.security.nocheck=true.
Since version 2.47 such property also allows the SecurityManager
to be replaced by another.
true
to workaround the bug #50423 which
appears on some linuxes on JDK 1.5.
true
if you do want to cleanup the module system,
but not call System.exit at the end. Used from NbModuleSuite from
nbjunit library.
In production builds the default time limits are different (10s to start sampler, 20s to report a problem).
org.netbeans.core.TimeableEventQueue.quantum=xyz - for how long the event queue must be blocked to start the self-sampler (by default 100ms),org.netbeans.core.TimeableEventQueue.report=xyz - total time of blocked event queue to report a problem (by default 3s),org.netbeans.core.TimeableEventQueue.waitcursor=xyz - time for which a problem is not reported if mouse wait cursor is in place (by default 15s),org.netbeans.core.TimeableEventQueue.pause=xyz - time after reporting a problem for which the detection is disabled (by default 15s).
If started with
Moreover if any module logs data to -J-Dorg.netbeans.log.startup=print parameter, then
times of various start operations are printed to console. If the value is
-J-Dorg.netbeans.log.startup=file then the values are printed into
file specified by -J-Dorg.netbeans.log.startup.logfile=filename.
Since NetBeans 7.1 one can also fill in the file by standard XML format
of log messages by using -J-Dorg.netbeans.log.startup=xml.
Logger.getLogger("org.netbeans.log.startup")
with calls like log(Level.FINE, "start", "msg") and
log(Level.FINE, "end", "msg") or
log(Level.FINE, "progress", "msg"), then these messages
are collected into the start log as well.
System.err and
System.out by the logging infrastructure.
-J-Dorg.netbeans.log.numberOfFiles=number then the log files for
number-1 previous executions will be preserved. Default and
minimum number is 3.
This property can contain name of a class implementing
FileSystem
with a public default constructor. Such filesystem is then used during
initialization of writable layer of system file system (see
getConfigRoot).
The filesystem may use or may ignore value of
Note: The class is loaded sooner then modules are initialized,
as such the class providing it must be from a JAR file placed in
to System.getProperty("netbeans.user").
$cluster/core/ directory. Such JAR may have just a
limited dependencies - e.g. only module system and filesystem API.
Similar to OSGi's
This property shall contain a set of comma separated values of
package names. Classes from those packages will be loaded by the
classloader framework from application classloader. If the name of
a package ends with
The classes from the org.osgi.framework.bootdelegation property.
Allows unit tests (or even regular code) to prevent classloading from
application classloader for other, then explicitly enumerated packages.
.* suffix, all packages under the
given package name are allowed for delegation (but not the package by itself).
java.* namespace are allowed
and do not need to be enumerated at all. If this property is not
specified at all, all classes visible by the application classloader
can be accessed. Available since version 1.26.
This property includes the display name presented to the user as Product Version
in the About dialog box and in the log file.
Setting this property affects the associated module autoupdate.ui.
Setting it to true results in the detailed view (all visible plugins) been selected
when Installed tab is opened in Plugin Manager.
Otherwise the simple view (high-level features) is selected.
-J-Dorg.netbeans.modules.editor.completion.slowness.report
property to more than 2000 ms (the default value).
true the project updates metadata of project.xml from
the namespace http://www.netbeans.org/ns/j2se-project/1 to
http://www.netbeans.org/ns/j2se-project/2 without explicit user confirmation.
If set to true, displays a truncated version of Java package
names, usually in the Projects tab.
ensure.built.source.roots property is set during ant script execution,
the javac task will not actually build the classfiles from scratch, but rather copy classfiles
produced by the Java infrastructure into the output folder. The content of the property will
be interpreted as list of source roots, for which the artifacts should be copied.
NbTestCase
methods so it is more predicatable (see
Order of elements for description of the problem). The acceptable
values of the property are:
The default order is natural right now, but this may
change in future to mitigate the
randomness caused by JDK7.
branding.token.
If it is provided (by Ant harness for example), it is used
to call
NbBundle.setBranding.
When this property is set, the opening of projects doesn't trigger
opening and focusing of the projects logical view top component.
Allows the BlueJ Edition to focus it's own component instead.
Error manager logging category for things affecting project list.
Property for overriding default location of projects directory
which is folder NetBeansProjects under $HOME on Unixes and under default user folder on
Windows (e.g. C:\Documents and Settings\[username]\My Documents\NetBeansProjects).
Directory passed by the property must exist, otherwise default is used.
org.netbeans.modules.uihandler.Submit
property when invoking NetBeans.
org.netbeans.modules.uihandler.Submit
property when invoking NetBeans.
The system property nb.tabs.suppressCloseButton
can be used to hide close buttons by default.
The system property winsys.stretching_view_tabs
can be used to switch to stretching tab layout as implemented
in NetBeans version 7.0 and older.
true, changes default value of the
asynchronous() method. Useful for unit tests
which would prefer to run all tested actions synchronously.
path attribute. By default, when running inside NetBeans IDE,
apisupport.project registers such class and provides
items representing valid paths in current project.
If true, better diagnostic information will be available as to when file input or
output streams were opened that prevent a file from being deleted because they were not closed.
This information comes at a performance cost, however.
Since 7.25 the
The creation of real node is scheduled to background and as soon as
the
DataObject
and its
Node are
ready, the initial dummy node is replaced by the real one.
This whole system is slightly incompatible and may complicate creation
of filtered views over the node hierarchy (one needs to be ready to
really dynamics changes). That is why it is possible to disable
the new DataFolder.getNodeDelegate() tries to prevent
creation of DataObject
in AWT dispatch thread. Rather it creates dummy node with name
derived from the name of the file and simplified content of lookup:
delayed
system by starting the system with
-Dorg.openide.loaders.FolderChildren.delayedCreation=false.
Use this property as a temporary fix for your problems, but consider
fixing your code to support the delayed mode
in the future.
DataObject.copy, move, createFromTemplate
are executed in insecure way. That means that other threads can access the
products of such operation before it finishes. This is a friend contract
with projects, that need to do such strange things. Will be removed when they
fix it.
ErrorManager logging) to the console
from the module system.
Used to control the XML layer cache mechanism. Value may be a
fully-qualified class name to load as a manager (implement
org.netbeans.core.projects.cache.LayerCacheManager),
or - to disable caching and always parse the XML
layers directly. Current default is to use a binary cache
manager.
org.openide.util.Lookup and
has public constructor, that should be instantiated and returned from
Lookup.getDefault()
the class will be loaded by
Thread.currentThread().getContextClassLoader()
classloader the first time Lookup.getDefault is invoked.
The property can also contain value "-" which means to completely
disable the lookup instantiation and return Lookup.EMPTY
from Lookup.getDefault().
If the property is unspecified, the default MetaInfServicesLookup
is constructed for Thread.currentThread().getContextclassLoader()
that implements the JDK's standard. If, by
a chance an instance of
Lookup.Provider
is found
in there, its lookup is returned as result. Otherwise the MetaInfServicesLookup
is the result of Lookup.getDefault().
org.openide.util.Lookup.paths=Folder1:Folder2:Folder3.
If this property is set prior to first call to
Lookup.getDefault(),
it is split into pieces (separator is ':') and individual
parts are then used to construct Lookups.forPath("Folder1"),
etc. All these lookups then become part of the
Lookup.getDefault()
one. This property works since version 7.24
-J-Dnetbeans.winsys.imageSource=org/netbeans/core/resources/splash.gif
-J-Dnetbeans.winsys.fade.on=true
-J-Dnetbeans.winsys.disable_dnd=true
TopComponentS between editor(document) and view
which is restricte otherwise.
It is experimental now.
-J-Dnetbeans.winsys.allow.dock.anywhere=true
-J-Dnetbeans.winsys.hideEmptyDocArea=true
-J-Dnetbeans.winsys.statusLine.in.menuBar=true
-J-Dnetbeans.winsys.no_toolbars=true
org.openide.awt.MenuBar.
This alternative menu bar will be used instead of the default one.
-J-Dnetbeans.winsys.menu_bar.path=foo/bar.instance
javax.swing.JComponent.
This alternative status line will be used instead of the default one.
-J-Dnetbeans.winsys.status_line.path=foo/bar.instance
-J-Dnetbeans.winsys.no_help_in_dialogs=true
If set to false, windows opened (e.g. TopComponent.open) using the
dummy fallback window manager will not really be set to be visible. Useful for unit tests which
must incidentally use the Window System API but for which actual display of windows is undesirable.
To get your API listed here, use
<api type='export' group='systemproperty' ... /> in
your module arch.xml document.