[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-9147) A lot of Java Model Exceptions when updating project pom

Viacheslav Kabanovich (JIRA) jira-events at lists.jboss.org
Wed Jun 15 17:41:29 EDT 2011


    [ https://issues.jboss.org/browse/JBIDE-9147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608971#comment-12608971 ] 

Viacheslav Kabanovich commented on JBIDE-9147:
----------------------------------------------

Now I see what happens. The problem appeared when building of CDI extensions was included into CDI build.
Previously, steps were as follows:
1. Create working copy of context.
2. Update class path (which removes from working copy objects loaded from removed paths)
3. Load objects to working copy of context.

With CDI extensions, steps changed as follows:
1. Update class path (which removes from working copy objects loaded from removed paths)
2. Update extensions based on new class path in current context.
3. Create working copy of context (including working copies of contexts for extensions).
4. Load objects to working copy of context.

Here item 1, as before, cleans a working copy 'created on the fly' but that copy is discarded and replaced by new one created in item 3 - with all paths.

Now, proposed patch modifies steps as follows.

1. Update class path (store the set of removed paths).
2. Update extensions based on new class path in current context.
3. Create working copy of context (including working copies of contexts for extensions).
4. Remove from working copy stored paths.
5. Load objects to working copy of context.

I think it is safe to merge to M2.

> A lot of Java Model Exceptions when updating project pom
> --------------------------------------------------------
>
>                 Key: JBIDE-9147
>                 URL: https://issues.jboss.org/browse/JBIDE-9147
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: cdi (jsr-299)
>    Affects Versions: 3.3.0.M2
>            Reporter: Lukas Jungmann
>            Assignee: Viacheslav Kabanovich
>            Priority: Critical
>             Fix For: 3.3.0.M2
>
>         Attachments: ide.log.txt, JBIDE-9147.patch
>
>
> EXECUTE: Import Seam-booking example (See http://seamframework.org/Seam3/Contribute for details how to get this example from Seam git repository (make sure CDI support enabled).
> EXECUTE: Open seam-bookong/pom.xml
> EXECUTE: Find 
> {code}
> <dependency>
>    <groupId>org.jboss.seam.faces</groupId>
>    <artifactId>seam-faces</artifactId>
> </dependency>
> {code}
> EXECUTE: Add <version>3.0.1.Final</version> :
> {code}
> <dependency>
>    <groupId>org.jboss.seam.faces</groupId>
>    <artifactId>seam-faces</artifactId>
>    <version>3.0.1.Final</version>
> </dependency>
> {code}
> EXECUTE: Save the pom.xml
> FAILURE: See Eclipse log, there are dozens of various Java Model Exceptions:
> {code}
> Java Model Exception: Java Model Status [/home/jlukas/.m2/repository/org/jboss/seam/faces/seam-faces/3.0.1.Final/seam-faces-3.0.1.Final.jar is not on its project's build path]
> 	at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:505)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
> 	at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
> 	at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
> 	at org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107)
> 	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:255)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241)
> 	at org.eclipse.jdt.internal.core.BinaryField.getTypeSignature(BinaryField.java:77)
> 	at org.jboss.tools.cdi.internal.core.impl.BeanMember.setMember(BeanMember.java:48)
> 	at org.jboss.tools.cdi.internal.core.impl.BeanField.setField(BeanField.java:43)
> 	at org.jboss.tools.cdi.internal.core.impl.BeanField.setDefinition(BeanField.java:30)
> 	at org.jboss.tools.cdi.internal.core.impl.ClassBean.setDefinition(ClassBean.java:98)
> 	at org.jboss.tools.cdi.internal.core.impl.CDIProject.rebuildBeans(CDIProject.java:1107)
> 	at org.jboss.tools.cdi.internal.core.impl.CDIProject.update(CDIProject.java:1017)
> 	at org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext.applyWorkingCopy(DefinitionContext.java:382)
> 	at org.jboss.tools.cdi.core.CDICoreBuilder.build(CDICoreBuilder.java:199)
> 	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
> ...
> Java Model Exception: Java Model Status [/home/jlukas/.m2/repository/org/jboss/seam/faces/seam-faces/3.0.1.Final/seam-faces-3.0.1.Final.jar is not on its project's build path]
> 	at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:505)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
> 	at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
> 	at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
> 	at org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107)
> 	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)
> 	at org.eclipse.jdt.internal.core.BinaryType.getElementInfo(BinaryType.java:286)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241)
> 	at org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java:723)
> 	at org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector.process(ImplementationCollector.java:44)
> 	at org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector.<init>(ImplementationCollector.java:33)
> 	at org.jboss.tools.cdi.internal.core.impl.CDIProject.rebuildBeans(CDIProject.java:1090)
> 	at org.jboss.tools.cdi.internal.core.impl.CDIProject.update(CDIProject.java:1017)
> 	at org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext.applyWorkingCopy(DefinitionContext.java:382)
> 	at org.jboss.tools.cdi.core.CDICoreBuilder.build(CDICoreBuilder.java:199)
> 	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
> etc.
> {code}
> EXECUTE: Remove <version>3.0.1.Final</version>
> FAILURE: See Eclipse log, there are dozens of various Java Model Exceptions noting that version 3.0.1 was not found but this version has just been removed from pom 
> see attached ide log

--
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