[jbosstools-issues] [JBoss JIRA] Updated: (JBIDE-7720) "Open Source File" and "Open Mapping File" don't work for m2eclipse multi-module project
Martin Ackermann (JIRA)
jira-events at lists.jboss.org
Sat Dec 4 09:59:47 EST 2010
[ https://jira.jboss.org/browse/JBIDE-7720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ackermann updated JBIDE-7720:
------------------------------------
Environment: Windows XP SP2, Eclipse Galileo SR2, JBoss Tools 3.1.1, m2eclipse 0.10.0, derby core plugin and derby ui plugin version 10.6.2.1, jboss AS 4.2.2 (was: Windows XP SP2, Eclipse Galileo SR2, JBoss Tools 3.1.1, m2eclipse 0.10.0)
Steps to Reproduce:
I'm using a jboss to resolve the classpath dependencies for jpa. I'm not absolutely sure if it works exactly the way below because I encountered some trial, error and undo.
Steps to reproduce without example workspace:
1. Switch to new workspace
2. Create parent project
-- File->New->Project...
-- Select Maven->"Maven Project", "Next >"
-- Check "Create a simple project", "Next >"
-- Under Artifact: "Group Id" = "mypackage", "Artifact Id" = "mpm", Packaging = "pom", "Next >", "Finish"
2. Create child project
-- File->New->Project...
-- Select Maven->"Maven Module", "Next >"
-- Check "Create a simple project"
-- Press "Browse..."-Button for "Parent Project", Select "mpm", "OK"
-- "Next >"
-- Under Artifact: "Group Id" = "mypackage", "Artifact Id" is disabled, Packaging = "ejb", "Next >", "Finish"
3. Add and configure JPA Facet
-- Select "mpm-ejb" in Package Explorer
-- Project->Properties->"Project Facets"
-- Change Version for Java from 1.4 to 5.0
-- Check "Java Persistence"
-- Click on "Further configuration available..."
-- Type = "Disable Library Configuration"
-- Check "Discover annotated classes automatically"
-- Click on "Add connection ...", Select "Derby", Name = "MyDerby", "Next >"
-- Drivers = "Derby Client JDBC Driver 10.2 Default", "Database" = "mpm-db", "Finish"
-- Check "Add driver library to build path"
-- "OK" to leave further configuration
-- "OK" to leave facet selection
4. Create entity bean
-- File->New->Other...
-- Select JPA->Entity
-- "Class name" = MyClass, "Finish" (Ignore NPE with message "Apply changes to persistence XML")
5. Add id for entity bean
-- Paste "@Id"
-- Paste "@GeneratedValue(strategy=GenerationType.AUTO)"
-- Paste "private long id;"
6. Create JBoss runtime
-- Window->Preferences->Server->"Runtime Environments"
-- "Add..."
-- "JBoss Community"->"JBoss 4.2 Runtime", "Nect >"
-- Point "Home Directory" to the installation path, e.g. "C:\java\jboss\jboss-4.2.2.GA"
7. Add JBoss to resolve classpath dependencies (otherwise the hibernate perspective will not work)
-- Select "mpm-ejb" in Package Explorer
-- Project->Properties...->"Java Build Path"
-- "Add library..."
-- "Server Runtime", "Next >"
-- "JBoss 4.2 Runtime", "Finish"
8. Create database
-- File->New->Project...
-- Select General->Project, "Next >"
-- "Project name" = "mpm-db", "Finish"
-- Right-click on mpm-db, "Apache Derby"->"Add Apache Derby nature"
9. Mount database
-- Right-click on mpm-db, "Apache Derby"->"Start Derby Network Server"
10. Open Error Log
-- Window->"Show View"->Other... General->"Error Log"
11. Use Hibernate Perspective
-- Window->"Open Perspective"->"Other..."->Hibernate
-- In the view "Hibernate Configurations" press "[+]"
-- Type = "JPA", Project = "mpm-ejb", "Database connection" = "MyDerby"
-- Under "Classpath": "Add External JARs..." chose <path to derby plugin location>\plugins\org.apache.derby.core_10.6.2\derbyclient.jar
-- Under "Options": "Database dialect" = "Derby"
-- "OK"
-- Expand "hibernate" in under "Hibernate Configurations"
-- Expand "Configuration"
-- Double-click on MyClass
-- See the exception in the error log view
Steps to reproduce using the example workspace in workspace.zip:
- Adjust path in the JBoss server runtime to your local JBoss installation
- Perform last three steps from above
> "Open Source File" and "Open Mapping File" don't work for m2eclipse multi-module project
> ----------------------------------------------------------------------------------------
>
> Key: JBIDE-7720
> URL: https://jira.jboss.org/browse/JBIDE-7720
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: Hibernate
> Affects Versions: 3.1.1
> Environment: Windows XP SP2, Eclipse Galileo SR2, JBoss Tools 3.1.1, m2eclipse 0.10.0, derby core plugin and derby ui plugin version 10.6.2.1, jboss AS 4.2.2
> Reporter: Martin Ackermann
> Assignee: Vitali Yemialyanchyk
> Fix For: 3.2.0.CR1
>
> Attachments: screenshot-1.jpg, screenshot-2.jpg, workspace.zip
>
>
> Maven multi-module projects have directory structures like <parent-project>/<child-project>, e.g. mpm/mpm-ejb. m2eclipse shows <child-project> in the workspace at the root node next to <parent-project>.
> When defining a Hibernate configuration in the Hibernate perspective, everything works except "Open Source File" and "Open Mapping File" (Right click on a entity under "Configuration"). The resulting exception is appended below.
> "Mapping Diagram" and expanding the attributes of the entity do work.
> Maybe a workaround would be to modify the classpath of the Hibernate configuration. But neither "Advanced"->"Attach Source" nor "Advanced"->"Add Folder" for the Source-Folder helped.
> The Hibernate configuration was:
> Type "JPA"
> Database dialect: "Derby"
> Property file with:
> hibernate.dialect=org.hibernate.dialect.DerbyDialect
> hibernate.connection.driver_class=org.apache.derby.jdbc.ClientDriver
> hibernate.connection.url=jdbc:derby://localhost:1527/mpm-db
> hibernate.connection.username=MPM
> hibernate.connection.password=mpm
> hibernate.connection.provider_class=org.hibernate.connection.DriverManagerConnectionProvider
> hibernate.transaction.factory_class org.hibernate.transaction.JDBCTransactionFactory
> Error Log:
> !ENTRY org.hibernate.eclipse.console 4 4 2010-11-23 15:45:45.984
> !MESSAGE Can't find mapping file.
> !SUBENTRY 1 org.hibernate.eclipse.console 4 150 2010-11-23 15:45:45.984
> !MESSAGE Java Model Exception: Java Model Status [mpm does not exist]
> !STACK 1
> Java Model Exception: Java Model Status [mpm does not exist]
> at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:502)
> at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
> at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
> at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
> at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
> at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1561)
> at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2258)
> at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2268)
> at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1279)
> at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1186)
> at org.hibernate.eclipse.console.actions.OpenSourceAction.run(OpenSourceAction.java:123)
> at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:156)
> at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:104)
> at org.hibernate.eclipse.console.views.KnownConfigurationsView$4.run(KnownConfigurationsView.java:202)
> at org.hibernate.eclipse.console.views.KnownConfigurationsView$2.doubleClick(KnownConfigurationsView.java:118)
> at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:821)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.core.runtime.Platform.run(Platform.java:888)
> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:819)
> at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1419)
> at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1195)
> at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:238)
> at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:235)
> at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:296)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> !SUBENTRY 2 org.eclipse.jdt.core 4 969 2010-11-23 15:45:45.984
> !MESSAGE mpm does not exist
> !SUBENTRY 2 org.hibernate.eclipse.console 4 150 2010-11-23 15:45:45.984
> !MESSAGE Java Model Exception: Java Model Status [mpm does not exist]
> !STACK 1
> Java Model Exception: Java Model Status [mpm does not exist]
> at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:502)
> at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
> at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
> at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
> at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
> at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1561)
> at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2258)
> at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2268)
> at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1279)
> at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1186)
> at org.hibernate.eclipse.console.actions.OpenSourceAction.run(OpenSourceAction.java:123)
> at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:156)
> at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:104)
> at org.hibernate.eclipse.console.views.KnownConfigurationsView$4.run(KnownConfigurationsView.java:202)
> at org.hibernate.eclipse.console.views.KnownConfigurationsView$2.doubleClick(KnownConfigurationsView.java:118)
> at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:821)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.core.runtime.Platform.run(Platform.java:888)
> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:819)
> at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1419)
> at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1195)
> at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:238)
> at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:235)
> at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:296)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> !SUBENTRY 3 org.eclipse.jdt.core 4 969 2010-11-23 15:45:45.984
> !MESSAGE mpm does not exist
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbosstools-issues
mailing list