This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Steps to recreate error: 1. Created test database desktop application that connects to MySQL server (remote). 2. Compile and run database desktop application. 3. Right-click on project name and choose New...Other. 4. In new file dialog box, choose Report or Empty Report 5. Create new connection and select same database as application uses. 6. Click on Test button. 7. Error as below shows up. Message: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Level: SEVERE Stack Trace: com.mysql.jdbc.Driver com.jaspersoft.ireport.designer.connection.DriverPool.registerDriver(DriverPool.java:156) com.jaspersoft.ireport.designer.connection.JDBCConnection.getConnection(JDBCConnection.java:98) com.jaspersoft.ireport.designer.connection.JDBCConnection.test(JDBCConnection.java:420) com.jaspersoft.ireport.designer.connection.gui.ConnectionDialog.jButtonTestActionPerformed(ConnectionDialog.java:316) com.jaspersoft.ireport.designer.connection.gui.ConnectionDialog.access$300(ConnectionDialog.java:25) com.jaspersoft.ireport.designer.connection.gui.ConnectionDialog$4.actionPerformed(ConnectionDialog.java:271) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) java.awt.Component.processMouseEvent(Component.java:6041) javax.swing.JComponent.processMouseEvent(JComponent.java:3265) java.awt.Component.processEvent(Component.java:5806) java.awt.Container.processEvent(Container.java:2058) java.awt.Component.dispatchEventImpl(Component.java:4413) java.awt.Container.dispatchEventImpl(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) java.awt.Container.dispatchEventImpl(Container.java:2102) java.awt.Window.dispatchEventImpl(Window.java:2440) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.EventQueue.dispatchEvent(EventQueue.java:599) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177) java.awt.Dialog$1.run(Dialog.java:1045) java.awt.Dialog$3.run(Dialog.java:1097) java.security.AccessController.doPrivileged(Native Method) java.awt.Dialog.show(Dialog.java:1095) java.awt.Component.show(Component.java:1422) java.awt.Component.setVisible(Component.java:1375) java.awt.Window.setVisible(Window.java:806) java.awt.Dialog.setVisible(Dialog.java:985) com.jaspersoft.ireport.designer.wizards.ConnectionSelectionVisualPanel.jButton1ActionPerformed(ConnectionSelectionVisualPanel.java:284) com.jaspersoft.ireport.designer.wizards.ConnectionSelectionVisualPanel.access$400(ConnectionSelectionVisualPanel.java:24) com.jaspersoft.ireport.designer.wizards.ConnectionSelectionVisualPanel$6.actionPerformed(ConnectionSelectionVisualPanel.java:196) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) java.awt.Component.processMouseEvent(Component.java:6041) javax.swing.JComponent.processMouseEvent(JComponent.java:3265) java.awt.Component.processEvent(Component.java:5806) java.awt.Container.processEvent(Container.java:2058) java.awt.Component.dispatchEventImpl(Component.java:4413) java.awt.Container.dispatchEventImpl(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) java.awt.Container.dispatchEventImpl(Container.java:2102) java.awt.Window.dispatchEventImpl(Window.java:2440) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.EventQueue.dispatchEvent(EventQueue.java:599) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177) java.awt.Dialog$1.run(Dialog.java:1045) java.awt.Dialog$3.run(Dialog.java:1097) java.security.AccessController.doPrivileged(Native Method) java.awt.Dialog.show(Dialog.java:1095) org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:834) org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:868) org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:856) org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:104) org.openide.util.Mutex.doEventAccess(Mutex.java:1223) org.openide.util.Mutex.readAccess(Mutex.java:242) org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:841) java.awt.Component.show(Component.java:1422) java.awt.Component.setVisible(Component.java:1375) java.awt.Window.setVisible(Window.java:806) java.awt.Dialog.setVisible(Dialog.java:985) org.openide.loaders.TemplateWizard.instantiateImpl(TemplateWizard.java:502) org.openide.loaders.TemplateWizard.instantiate(TemplateWizard.java:369) org.netbeans.modules.project.ui.actions.NewFile.doPerform(NewFile.java:147) org.netbeans.modules.project.ui.actions.NewFile.access$200(NewFile.java:80) org.netbeans.modules.project.ui.actions.NewFile$PopupListener.actionPerformed(NewFile.java:340) javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) javax.swing.AbstractButton.doClick(AbstractButton.java:357) javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220) javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261) java.awt.Component.processMouseEvent(Component.java:6041) javax.swing.JComponent.processMouseEvent(JComponent.java:3265) java.awt.Component.processEvent(Component.java:5806) java.awt.Container.processEvent(Container.java:2058) java.awt.Component.dispatchEventImpl(Component.java:4413) java.awt.Container.dispatchEventImpl(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) java.awt.Container.dispatchEventImpl(Container.java:2102) java.awt.Window.dispatchEventImpl(Window.java:2440) java.awt.Component.dispatchEvent(Component.java:4243) java.awt.EventQueue.dispatchEvent(EventQueue.java:599) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Sean, are you sure you didn't want to set version to 6.1? You gave Go for 6.0 but said NoGo for 6.1. Please clarify. Thanks!
According to Sean's latest e-mail this problem occurs in both NetBeans 6.0.1/6.1. Could you please Giulio fix this to bring back iReport to the Plugin Portal Update Center? Thanks!
There is a workaround for this. Generally this plugin has classpath issues that make the usage difficult at times. I'm hoping this can be addressed in the future. Perhaps until this is fixed, this could be documented at http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/page.php?name=ireport-nb-getting-started. To use any other JDBC driver besides JavaDB, you must go to the NetBeans options, select 'iReport->classpath' and add the JDBC driver to the classpath. Now the plugin will be able to find the class for the driver.
OK, so now a developer has an application connected to a data source (MySQL, PostGre, etc.) and the connections are all made and working fine. Why is it that new connections need to be made to create reports on the same data. The designer of iReport should be setting it up to pull the connections from the application in which it is being used. This would make using the plug-in a lot easier and make more sense. For example...A developer is designing an inventory tracking system. The data is being stored on a site-wide MySQL server, in a database name inv_maint, on machine sql.somecompany.com. User John.Dough logs into the application and is then connected to inv_maint on sql.somecompany.com and doing his job. When John.Dough goes to print a report from the database, the developer of the application had to either store John.Dough's password (creating a security hole) or prompt John.Dough for his password again (creating an annoyance) simply to generate the report. To my way of thinking, this creates more problems than it solves and therefore, is not a quality plug-in. Also, as I said before, since I've already got the driver loaded, it shouldn't need to be loaded again, as this then uses more system resources, causing a slow-down in the application, which lowers the overall quality of that application. Since developers get new jobs based almost entirely (or */entirely/* on past jobs), this kind of a situation could reduce a developer's reputation, thereby costing that developer potential jobs. With all of this in mind, I don't think that I am being unfair in my No-Go vote for the iReport plug-in, as the Verification Team is in the process of building a reputation with the community. Because we are trying to build a reputation in the community, I feel that we need to be somewhat critical of the plug-ins being offered via the Plug-in Portal. Of course, these are just my opinions, but this is also my justification for my No-Go vote.
Now iReport adds to his own classpath the jars used by the JDBC drivers defined by the db manager. The problem is fixed in the repository. Publishing the new plugin 0.9.1.1 Giulio