An NBM file is a NetBeans module packaged for delivery via the web. The principal differences between it and a module JAR are:
NBM files are just ZIP files with a special extension, which use the JDK's mechanism for signing JARs. Unless you're doing something unusual, you will not need to worry about the contents of NBMs - just let the standard Ant task for NBM creation take care of it for you. For those interested in gory details, read on.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//NetBeans//DTD Module Status 1.0//EN"
"http://www.netbeans.org/dtds/module-status-1_0.dtd">
<module name="org.netbeans.modules.hexeditor">
<param name="autoload">false</param>
<param name="eager">false</param>
<param name="enabled">true</param>
<param name="jar">modules/org-netbeans-modules-hexeditor.jar</param>
<param name="release">1</param>
<param name="reloadable">false</param>
<param name="specversion">1.0</param>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//NetBeans//DTD Autoupdate Module Info 2.3//EN"
"http://www.netbeans.org/dtds/autoupdate-info-2_3.dtd">
<module codenamebase="org.netbeans.modules.hexeditor"
homepage="http://contrib.netbeans.org/"
distribution="http://...../org-netbeans-modules-hexeditor.nbm"
license="standard-nbm-license.txt"
downloadsize="0"
needsrestart="false"
moduleauthor=""
releasedate="2005/08/29"
>
<manifest OpenIDE-Module="org.netbeans.modules.hexeditor/1"
OpenIDE-Module-Display-Category="Infrastructure"
OpenIDE-Module-Implementation-Version="050829"
OpenIDE-Module-Long-Description="Sample module hexeditor providing HexEdit"
OpenIDE-Module-Module-Dependencies="org.openide.filesystems > 6.2, ..."
OpenIDE-Module-Name="hexeditor"
OpenIDE-Module-Requires="org.openide.modules.ModuleFormat1"
OpenIDE-Module-Short-Description="Sample hexeditor module"
OpenIDE-Module-Specification-Version="1.0"
/>
<license name="standard-nbm-license.txt"><![CDATA[
Sun Public License Notice
....
]]></license>
</module>
Applies to: NetBeans 6.5 and above