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.
To get your API listed here, use
<api type='export' group='systemproperty' ... />
in
your module arch.xml document.
If a longer message is logged the ant logger will handle the message as plain text and will not try to hyperlink, color, fold, etc.
If not set by the user a default value of 3000 will be used.
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
.
none
,
then the fallback cache check is completely disabled.
"netbeans.patches." + module.getCodeNameBase()
one can influence installed modules without changing the build.
Format is -Dnetbeans.patches.org.nb.mods.foo=/path/to.file.jar:/path/to/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
.
One can disable the CLI server (listening on commands
from subsequent invocations) by setting property
org.netbeans.CLIHandler.server
to false
.
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.
getContent()
method of ExClipboard
waits to synchronize with system clipboard. Defaults to 1000ms.
DuplicateException
when an attempt is made
to load an already loaded module.
One can change this behavior by providing -Dnetbeans.ignore.dupmodule=true
since version 2.63. When -Dnetbeans.ignore.dupmodule=true
is provided,
attempt of duplicate loading is logged instead of throwing DuplicateException
.
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).
System.getProperties()
that start with prefix felix.
or org.osgi.framework.
are read on initialization of the
Netigso system and injected into configuration of OSGi container
before it starts.
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.
Some applications built on top of NetBeans Platform expressed
an option that certain files in caches, namely
all-resources.dat
can be too big and that this is not good for multi-user installation.
To give such applications control over creation of this file, there
is a property to (conditionally) disable the creation of the cache file.
Change value of
Changing default value of the property may be particulary useful when there is a shared
installation of the application, there are many users with a home
(and cache) directory on a slow (network) file system and it is
expected most of them won't install additional modules into their
own user directory.
org.netbeans.core.update.all.resources
property
in launcher configuration file or provide it as a virtual machine
parameter on command line.
Set it to never
, always
or missing
.
The default is to regenerate and update the cache always.
Value missing means to generate
the cache only if it has not been previously available (even in
installation location). Setting the value to never will
disable the creation of the cache after start completely.
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).
netbeans.debug.gradle.info.action=true
would make the Gradle project information loading into a debugabble JVM
where the debugging port is 5006
. A new debugger session
can be attached to that port, make the netbeans-gradle-tooling
project debuggable in action.
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.
If a longer message is logged the ant logger will handle the message as plain text and will not try to hyperlink, color, fold, etc.
If not set by the user a default value of 3000 will be used.
If set to true
, displays a truncated version of Java package
names, usually in the Projects tab.
If a longer message is logged the ant logger will handle the message as plain text and will not try to hyperlink, color, fold, etc.
If not set by the user a default value of 3000 will be used.
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.
If set to true
,
*.class
files generated by external build processes
will not be overwritten by the IDE’s Java parser
when running in “compile-on-save” mode
unless the class files are older than the corresponding source file.
198946
)
there is a special property org.netbeans.modules.masterfs.case
that can be set to sensitive
or insensitive
value
in order to override the system default. This is intended only for end user
consumption, not for consumption by other parts of the system. The name and
meaning of this property may change in any release.
Native listeners check the
I/O intensive operations in other NetBeans modules are advised
to honour the
In order to properly communicate changes to the property between multiple
receivers and multiple controllers it is suggested to
only manipulate the value under
Whenever a change to the state of the property is made,
controllers are supposed to
org.netbeans.io.suspend
property.
If it is set to integer greater than zero, they stop delivering file change events.
The list of modified directories is recorded (its size is made available
by setting its string value into org.netbeans.io.pending
property),
but its processing is suspended. Events are delivered when
org.netbeans.io.suspend
property changes its value to 0
or becomes empty.
org.netbeans.io.suspend
property as well and
suspend their I/O activities too.
synchronized("org.netbeans.io.suspend".intern())
lock. Those changing the value are supposed to increment it by one when they
request the suspend and decrement it by one when they want to resume their
own suspend.
"org.netbeans.io.suspend".intern().notifyAll()
.
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.
If defined, limits search for a parent project to a certain subtree. The property defines absolute path of a folder
where upwards search for a project in parent folders is terminated. Queries outside of the root will not find any project.
Currently used for tests so the tested runtime does not escape the workdir.
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
TopComponent
S 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.