Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003936 [Resin] major always 03-10-10 02:12 04-07-11 09:48
Reporter walec51 View Status public  
Assigned To alex
Priority normal Resolution fixed  
Status closed   Product Version 4.0.1
Summary 0003936: Fighting to make the Netbeans plugin work
Description Hello,

I've spend almost the entire day trying to make the resin-netbeans-4.0.1 plugin work. I need to do the following steps to just make it install:

In the Info/info.xml you must specify the downloadsize arrtibute, adding the XML declarations would also be nice:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE module PUBLIC "-//NetBeans//DTD Autoupdate Module Info 2.5//EN" ""> [^]
<module codenamebase="com.caucho.netbeans"
    homepage="" [^]

without this you'll get the NumberFormat exception while trying to add the plugin.

After install there is also a problem with loading the plugin. You get this exception: Autoloads cannot specify enablement
    at org.netbeans.core.startup.ModuleList.sanityCheckStatus(
    at org.netbeans.core.startup.ModuleList.readStatus(
    at org.netbeans.core.startup.ModuleList.access$2700(
    at org.netbeans.core.startup.ModuleList$
    at org.openide.filesystems.EventControl.runAtomicAction(
    at org.openide.filesystems.FileSystem.runAtomicAction(
    at org.netbeans.core.startup.ModuleList.readInitial(
    at org.netbeans.core.startup.ModuleSystem.readList(
    at org.netbeans.core.startup.Main.getModuleSystem(
    at org.netbeans.core.startup.Main.start(

In order to overcome this you have to change the autoload param to false.
After this change I got an exception about some naming convention being wrong. Code name mismatch: resin.netbeans.plugin vs. com.caucho.netbeans
    at org.netbeans.core.startup.ModuleList$
    at org.openide.filesystems.EventControl.runAtomicAction(
    at org.openide.filesystems.FileSystem.runAtomicAction(
    at org.netbeans.core.startup.ModuleList.readInitial(
    at org.netbeans.core.startup.ModuleSystem.readList(
    at org.netbeans.core.startup.Main.getModuleSystem(
    at org.netbeans.core.startup.Main.start(

So I had to change the names of the conf xml and jar file to com-caucho-netbeans.xml (or jar).

My conf look like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//NetBeans//DTD Module Status 1.0//EN"
                        ""> [^]
<module name="com.caucho.netbeans">
    <param name="autoload">false</param>
    <param name="eager">false</param>
    <param name="enabled">true</param>
    <param name="jar">modules/com-caucho-netbeans-plugin.jar</param>
    <param name="reloadable">true</param>
    <param name="specversion">1.0</param>

After this I got the:

java.lang.ClassNotFoundException: javax.enterprise.deploy.spi.factories.DeploymentFactory
    at Method)
    at java.lang.ClassLoader.loadClass(
    at sun.misc.Launcher$AppClassLoader.loadClass(
    at java.lang.ClassLoader.loadClass(
    at org.netbeans.ProxyClassLoader.loadClass(

As I looked I found that there was a mistage in the MANIFEST.MF file of the plugins jar.
this OpenIDE-Module-Dependencies: ... should be OpenIDE-Module-Module-Dependencies:

I also had to add some missing dependencies do my final file looks like this:

Manifest-Version: 1.0

Ant-Version: Apache Ant 1.7.0

Created-By: 1.6.0_01-b06 (Sun Microsystems Inc.)

Implementation-Vendor: Caucho Technology, Inc.

Implementation-Version: 3.1.0

AutoUpdate-Show-In-Client: false

OpenIDE-Module: com.caucho.netbeans

OpenIDE-Module-Module-Dependencies: org.netbeans.modules.j2eeapis/1,
 org.netbeans.modules.j2ee.common/1, org.netbeans.modules.j2eeserver/
 4, org.netbeans.modules.j2ee.dd/1, org.jdesktop.layout/1, org.openi
 de.actions > 6.2, org.openide.awt > 6.2, org.openide.dialogs > 6.2, o
 rg.openide.execution > 1.3, org.openide.filesystems > 6.2, org.openid, org.openide.loaders, org.openide.modules > 6.2, org.openide.nod
 es > 6.2, org.openide.text > 6.2, org.openide.util > 6.2, org.openide
 .windows > 6.2, org.netbeans.modules.project.libraries/1, org.netbe

OpenIDE-Module-Display-Category: "Web &amp; Java EE"

OpenIDE-Module-Implementation-Version: 080106

OpenIDE-Module-Layer: com/caucho/netbeans/resources/layer.xml

OpenIDE-Module-Long-Description: Resin Application Server

OpenIDE-Module-Localizing-Bundle: com/caucho/netbeans/resources/Bundle


OpenIDE-Module-Module-Name: Resin Application Server

OpenIDE-Module-Public-Packages: -

OpenIDE-Module-Requires: org.openide.modules.ModuleFormat1

OpenIDE-Module-Short-Description: Resin

OpenIDE-Module-Specification-Version: 1.0

The plugin got finally installed. But the I tried to use the "Add Server" option I got:

    at java.util.Arrays.sort(
    at com.caucho.netbeans.ide.AddInstanceIterator.findResinHome(
    at com.caucho.netbeans.ide.AddInstanceIterator.findResinHome(
    at com.caucho.netbeans.ide.AddInstanceIterator.<init>(
    at com.caucho.netbeans.ide.ResinOptionalFactory.getAddInstanceIterator(
    at org.netbeans.modules.j2ee.deployment.impl.bridge.BridgingServerWizardProvider.getInstantiatingIterator(
    at org.netbeans.modules.server.ui.wizard.ServerWizardVisual$WizardListModel.<init>(
    at org.netbeans.modules.server.ui.wizard.ServerWizardVisual.initComponents(
    at org.netbeans.modules.server.ui.wizard.ServerWizardVisual.<init>(
    at org.netbeans.modules.server.ui.wizard.ServerWizardPanel.getComponent(
    at org.netbeans.modules.server.ui.wizard.AddServerInstanceWizard$AddServerInstanceWizardIterator.initialize(
    at org.openide.WizardDescriptor.callInitialize(
    at org.openide.WizardDescriptor.<init>(
    at org.openide.WizardDescriptor.<init>(
    at org.netbeans.modules.server.ui.wizard.AddServerInstanceWizard.<init>(

An this is becouse the plugin assumes that resin is in one of the following directories:

private String findResinHome()
    String resinHome;
    resinHome = findResinHome(System.getProperty("user.home"));
    if (resinHome != null)
      return resinHome;
    resinHome = findResinHome(System.getProperty("user.home") + "/ws");
    if (resinHome != null)
      return resinHome;
    resinHome = findResinHome("/usr/local/share");
    if (resinHome != null)
      return resinHome;
    resinHome = findResinHome("/usr/local");
    if (resinHome != null)
      return resinHome;
    resinHome = findResinHome("/opt");
    if (resinHome != null)
      return resinHome;
    return null;

Maybe is should also look in the path set in the RESIN_HOME env varialbe ?

Even after coping resin to the right dir I still got null ptr exp becouse some missing lib/resin-util.jar was missing. After working around this I could create a Resin based project but couldn't deploy it using Netbeans.

Hope this helps you in making the Netbeans plugin better.

Additional Information
Attached Files

- Relationships

- Notes
04-07-11 09:48

updated plugin is available at [^]

- Issue History
Date Modified Username Field Change
03-10-10 02:12 walec51 New Issue
03-10-10 02:14 walec51 Issue Monitored: walec51
09-01-10 19:47 mros2stf Issue Monitored: mros2stf
04-07-11 09:46 alex Status new => assigned
04-07-11 09:46 alex Assigned To  => alex
04-07-11 09:48 alex Status assigned => closed
04-07-11 09:48 alex Note Added: 0005176
04-07-11 09:48 alex Resolution open => fixed
04-07-11 09:48 alex Fixed in Version  => 4.0.16

Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
32 total queries executed.
27 unique queries executed.
Powered by Mantis Bugtracker