<!-- <questionid="arch-overall"when="init"> Describetheoverallarchitecture. <hint> WhatwillbeAPIfor <ahref="http://openide.netbeans.org/tutorial/api-design.html#design.apiandspi"> clientsandwhatsupportAPI</a>? Whatpartswillbepluggable? Howwillplug-insberegistered?Pleaseuse<code><apitype="export"/></code> todescribeyourgeneralAPIs. Ifpossiblepleaseprovide simplediagrams. </hint> </question>
-->
<answer id="arch-overall">
<p>
Provides implementations of the Java platform SPI and the project library SPI.
</p>
<p>
<api category="official" group="java" name="J2SEPlatformCreator"type="export"url="@TOP@/org/netbeans/modules/java/j2seplatform/api/J2SEPlatformCreator.html">
API to register a JDK
</api>
and these
<api category="official" group="java" name="SPI"type="export"url="@TOP@/org/netbeans/modules/java/j2seplatform/spi/package-summary.html">
(service provide interfaces) for JDK sources and JavaDoc
</api>.
</p>
<p>
Defines some formats:
</p>
<ul>
<li>
<api group="dtd" name="platformdefinition.dtd"type="export" category="official"url="http://www.netbeans.org/dtds/java-platformdefinition-1_0.dtd">
<p>
Definition of XML format for J2SE platform type (i.e. a JDK).
</p>
</api>
</li>
<li>
<api group="dtd" name="library-volume-types"type="export" category="official">
<p>
The library type provider defines three volume types:
</p>
<ol>
<li>
<code>classpath</code>
</li>
<li>
<code>src</code>
</li>
<li>
<code>javadoc</code>
</li>
<li>
<code>maven-pom</code> - Added for 6.0 beta1 to allow maven projects to recognize the library content.
</li>
</ol>
<p>
The actual definition of the XML syntax is controlled by the Project
Libraries API.
</p>
</api>
</li>
</ul>
</answer>
<!-- <questionid="arch-quality"when="init"> Howwillthe<ahref="http://www.netbeans.org/community/guidelines/q-evangelism.html">quality</a> ofyourcodebetestedand howarefutureregressionsgoingtobeprevented? <hint> Whatkindoftestingdo youwanttouse?Howmuchfunctionality,inwhichareas, shouldbecoveredbythetests? </hint> </question>
-->
<answer id="arch-quality">
<p>
There is some unit test coverage.
</p>
</answer>
<!-- <questionid="compat-version"when="impl"> Canyourmodulecoexistwithearlierandfuture versionsofitself?Canyoucorrectlyreadalloldsettings?Willfuture versionsbeabletoreadyourcurrentsettings?Canyouread orpolitelyignoresettingsstoredbyafutureversion? <hint> Veryhelpfulforreadingsettingsistostoreversionnumber there,sofutureversionscandecidewhetherhowtoread/convert thesettingsandolderversionscanignorethenewones. </hint> </question>
-->
<answer id="compat-version">
<p>
The Java platform type uses a versioned XML DTD.
</p>
<p>
There is no versioning information in the class library definition (beyond
what the Project Libraries module provides). However there are only three
defined volume types currently, and if more need to be added, they could be,
or existing volume types could be ignored. The current code would not be able
to ignore volume types added in the future, however.
</p>
</answer>
<!-- <questionid="dep-jre"when="final"> WhichversionofJREdoyouneed(1.2,1.3,1.4,etc.)? <hint> Itisexpectedthatifyourmodulerunson1.xthatitwillrun on1.x+1ifno,statethatplease.Alsodescribeherecaseswhere yourundifferentcodeondifferentversionsofJREandwhy. </hint> </question>
-->
<answer id="dep-jre">
<p> 1.4+. (But the Java platform definitions could be of any JDK version.)
</p>
</answer>
<!-- <questionid="dep-jrejdk"when="final"> DoyourequiretheJDKoristheJREenough? </question>
-->
<answer id="dep-jrejdk">
<p>
JRE. (The Java platform definitions may be of the JDK or JRE.)
</p>
</answer>
<!-- <questionid="dep-nb"when="init"> WhatotherNetBeansprojectsandmodulesdoesthisonedependon? <hint> Ifyouwant,describesuchprojectsasimportedAPIsusing the<code><apiname="identification"type="importorexport"category="stable"url="whereisthedescription"/></code> </hint> </question>
-->
<answer id="dep-nb">
<ul>
<li>
<api group="java" name="JavaSupportAPIs"type="import" category="official">
<p>
Used to define classpath, etc.
</p>
</api>
</li>
<li>
<api group="java" name="ProjectLibrariesAPI"type="import" category="devel">
<p>
Implements this SPI.
</p>
</api>
</li>
<li>
<api group="java" name="JavaPlatformAPI"type="import" category="devel">
<p>
Implements this SPI.
</p>
</api>
</li>
<li>
<api group="java" name="AntProjectAPI"type="import" category="devel">
<p>
Used to update <samp>${netbeans.user}/build.properties</samp> with the
current list of libraries and platforms.
</p>
</api>
</li>
<li>
<api group="java" name="ProjectAPI"type="import" category="devel">
<p>
Just used for <code>ProjectManager.mutex()</code>.
</p>
</api>
</li>
<li>
<api group="java" name="Datasystems"type="import" category="official">
<p>
Used for settings storage.
</p>
</api>
</li>
<li>
<api group="java" name="Filesystems"type="import" category="official">
<p>
Used for various purposes.
</p>
</api>
</li>
<li>
<api group="java" name="Wizards"type="import" category="official">
<p>
Implementation of the J2SE platform autodetection wizard.
</p>
</api>
</li>
</ul>
<api name="org.netbeans.modules.java.j2seplatform.api.API_Ask_attachSourcesQuestion" group="branding"type="export" category="stable">
<p>
Controls interaction when <b>sources</b> are about to be attached to a Classpath root, in
<a href="@org-netbeans-api-java@/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.html">SourceJavadocAttacherImplementation</a>
provided by this module. By setting <code>API_Ask_attachSourcesQuestion</code> key in
<code>org/netbeans/modules/java/j2seplatform/api/Bundle.properties</code> one can control the function:
</p>
<ul>
<li>
<b>no</b> will disable the attachers. No source/javadoc will be attached, and no user interaction will be started.
</li>
<li>
<b>yes</b> will permit the registered <a href="@org-netbeans-api-java@/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.Definer.html">
SourceJavadocAttacherImplementation.Definer</a> to attach an appropriate resource(s). <b>User interaction will be skipped</b>
</li>
<li>
<b>ask</b> (the default) will ask the user to supply the resources.
</li>
</ul>
<p>
The key can be set by a branding file in your application build.
</p>
</api>
<api name="org.netbeans.modules.java.j2seplatform.api.API_Ask_attachJavadocQuestion" group="branding"type="export" category="stable">
<p>
Controls interaction when <b>javadocs</b> are about to be attached to a Classpath root, in
<a href="@org-netbeans-api-java@/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.html">SourceJavadocAttacherImplementation</a>
provided by this module. By setting <code>API_Ask_attachJavadocQuestion</code> key in
<code>org/netbeans/modules/java/j2seplatform/api/Bundle.properties</code> one can control the function:
</p>
<ul>
<li>
<b>no</b> will disable the attachers. No source/javadoc will be attached, and no user interaction will be started.
</li>
<li>
<b>yes</b> will permit the registered <a href="@org-netbeans-api-java@/org/netbeans/spi/java/queries/SourceJavadocAttacherImplementation.Definer.html">
SourceJavadocAttacherImplementation.Definer</a> to attach an appropriate resource(s). <b>User interaction will be skipped</b>
</li>
<li>
<b>ask</b> (the default) will ask the user to supply the resources.
</li>
</ul>
<p>
The key can be set by a branding file in your application build.
</p>
</api>
</answer>
<!-- <questionid="dep-platform"when="init"> Onwhichplatformsdoesyourmodulerun?Doesitruninthesame wayoneach? <hint> IfyourmoduleisusingJNIordealswithspecialdifferencesof OSeslikefilesystems,etc.pleasedescribeherewhattheyare. </hint> </question>
-->
<answer id="dep-platform">
<p>
Any. However some heuristics are used to find commands which are part of
target VMs, such as the <code>java</code> launcher, or <code>javac</code>;
normally they are searched for in the <code>bin</code> subdirectory, appending
<code>.exe</code> on Windows, but the search locations are different on Mac OS
X. Support for more exotic platforms would require patches to locate specific
tools; there is no general specification for where to find JDK/JRE commands on
different platforms or using VMs from different vendors.
</p>
</answer>
<!-- <questionid="deploy-jar"when="impl"> DoyoudeployjustmoduleJARfile(s)orotherfilesaswell? <hint> IfyourmoduleconsistsofjustonemoduleJARfile,justconfirmthat. IfitusesmorethanoneJAR,describewheretheyarelocated,how theyrefertoeachother. IfitconsistofmoduleJAR(s)andotherfiles,pleasedescribe whatistheirpurpose,whyotherfilesarenecessary.Please makesurethatinstallation/uninstallationleavesthesystem instateasitwasbeforeinstallation. </hint> </question>
-->
<answer id="deploy-jar">
<p>
Module JAR, plus a “probe JAR” used to retrieve system properties
from a target JDK.
</p>
</answer>
<!-- <questionid="exec-component"when="impl"> Isexecutionofyourcodeinfluencedbyany(string)property ofanyofyourcomponents? <hint> Often<code>JComponent.getClientProperty</code>,<code>Action.getValue</code> or<code>PropertyDescriptor.getValue</code>,etc.areusedtoinfluence abehaviorofsomecode.Thisofcourseformsaninterfacethatshould bedocumented.Alsoifonedependsonsomeinterfacethatanobject implements(<code>componentinstanceofRunnable</code>)thatformsan APIaswell. </hint> </question>
-->
<answer id="exec-component">
<p>
The <code>java.util.Map</code> returned by the <code>J2SEPlatformImpl.getProperties()</code> contains
property <code>platform.ant.name</code> holding the name of the platform used by build scripts.
</p>
</answer>
<!-- <questionid="exec-process"when="impl"> Doyouexecuteanexternalprocessfromyourmodule?Howdoyouensure thattheresultisthesameondifferentplatforms?Doyouparseoutput? Doyoudependonresultcode? <hint> Ifyoufeedaninput,parsetheoutputpleasedeclarethatasanAPI. </hint> </question>
-->
<answer id="exec-process">
<p>
The J2SE platform wizard runs an autodetect probe to find the version number,
system properties, and other information about a target VM. This is a simple
prebuilt Java program run against the <code>java</code> launcher of the target
VM. No I/O streams are used; the probe writes all information to a named
properties file and exits. (The exit code is checked.)
</p>
</answer>
<!-- <questionid="exec-property"when="impl"> Isexecutionofyourcodeinfluencedbyanyenvironmentor Javasystem(<code>System.getProperty</code>)property? <hint> Ifthereisapropertythatcanchangethebehaviorofyour code,somebodywilllikelyuseit.Youshoulddescribewhatitdoes andthe<ahref="http://openide.netbeans.org/tutorial/api-design.html#life">stabilitycategory</a> ofthisAPI.Youmayuse <pre> <apitype="export"group="property"name="id"category="private"url="http://..."> descriptionoftheproperty,whereitisused,whatitinfluence,etc. </api> </pre> </hint> </question>
-->
<answer id="exec-property">
<p>
No, although system properties of a target J2SE VM are recorded.
</p>
</answer>
<!-- <questionid="format-types"when="impl"> Whichprotocolsandfileformats(ifany)doesyourmodulereadorwriteondisk, ortransmitorreceiveoverthenetwork? </question>
-->
<answer id="format-types">
<p>
Platform and library definitions, as mentioned in <a href="#answer-arch-overall">Overall Architecture</a>.
</p>
</answer>
<!-- <questionid="lookup-lookup"when="init"> Doesyourmoduleuse<code>org.openide.util.Lookup</code> oranysimilartechnologytofindanycomponentstocommunicatewith?Whichones? <hint> Pleasedescribetheinterfacesyouaresearchingfor,where aredefined,whetheryouaresearchingforjustoneormoreofthem, iftheorderisimportant,etc.Alsoclassifythestabilityofsuch APIcontract.Forthatuse<apigroup=&lookup&/>tag. </hint> </question>
-->
<answer id="lookup-lookup">
<p>
The J2SE platform customizer lookups <code>java.beans.Customizer</code> instances
registered in the <code>org-netbeans-api-java/platform/j2seplatform/customizers/</code>
folder on the system file system. These instances are added as additional tabs into the
J2SE platform customizer.
</p>
<p>
The J2SE platform consults instances of the <code>J2SEPlatformDefaultJavadoc</code>
registered in the <code>org-netbeans-api-java/platform/j2seplatform/defaultJavadocProviders/</code>
folder to suggest Javadoc roots when there are no Javadoc roots explicitly attached by an user.
</p>
</answer>
<!-- <questionid="lookup-register"when="final"> Doyouregisteranythingintolookupforothercodetofind? <hint> Doyouregisterusinglayerfileorusing<code>META-INF/services</code>? Whoissupposedtofindyourcomponent? </hint> </question>
-->
<answer id="lookup-register">
<p>
Platform and library type definitions are registered, as are a number of
queries relating to platforms and libraries.
A default classpath provider is registered for Java sources which otherwise
lack any specific classpath information.
</p>
</answer>
<!-- <questionid="perf-startup"when="final"> Doesyourmodulerunanycodeonstartup? </question>
-->
<answer id="perf-startup">
<p>
Yes, some information about registered platforms and libraries is mirrored to
<code>${netbeans.user}/build.properties</code> for use from Ant.
</p>
</answer>
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.26Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.