- This topic has 15 replies, 6 voices, and was last updated 20 years ago by Scott Anderson.
-
AuthorPosts
-
Phillip BeauvoirMemberSince installing 3.8.0 GA, my .project files are being molested with the following:
<buildCommand>
<name>com.ibm.sse.model.structuredbuilder</name>
<arguments>
</arguments>
</buildCommand>Why? I don’t want this!
Phil
Scott AndersonParticipantWhy? I don’t want this!
Why not? It’s simply a standard Eclipse builder that helps index java source in JSP files, etc. The Eclipse project builder mechanism is the standard way to add capabilities to the workbench so that code can be notified of the auto-build cycle. You’ll notice several other builders in there also, so ours, some Eclipse’s.
Scott AndersonParticipantHere’s a nice article on how Eclipse uses project natures and builders in case you want to read more about it:
http://www.eclipse.org/articles/Article-Builders/builders.html
Phillip BeauvoirMemberOK, what I mean is that this is being added to Eclipse projects that are only wrappers around libraries and have no java or jsp files. Example, I have a project that consists of jdom.jar, plugin.xml and build.properties and these lines are added in the .project file there. For what purpose?
<?xml version=”1.0″ encoding=”UTF-8″?>
<projectDescription>
<name>org.jdom</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.ibm.sse.model.structuredbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>Phil
Phillip BeauvoirMemberAnd my log is constantly being dumped with this:
!SESSION Aug 17, 2004 01:14:45.656 ———————————————
eclipse.buildId=M200408051455
java.version=1.4.2_04
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US!ENTRY org.eclipse.osgi Aug 17, 2004 01:14:45.656
!MESSAGE The class “com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$2” cannot be loaded because the system is shutting down and the plug-in “com.ibm.sse.model.jsp” has already been stopped.
!STACK 0
java.lang.ClassNotFoundException: The class “com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$2” cannot be loaded because the system is shutting down and the plug-in “com.ibm.sse.model.jsp” has already been stopped.
at org.eclipse.core.runtime.adaptor.EclipseClassLoader.shouldActivateFor(EclipseClassLoader.java:147)
at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass(EclipseClassLoader.java:62)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:371)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager.getVisitor(JSPIndexManager.java:73)
at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$1.run(JSPIndexManager.java:50)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)!ENTRY org.eclipse.core.runtime 4 2 Aug 17, 2004 01:14:45.671
!MESSAGE An internal error occurred during: “Update JSP Index”.
!STACK 0
java.lang.NoClassDefFoundError: com/ibm/sse/model/jsp/internal/java/search/JSPIndexManager$2
at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager.getVisitor(JSPIndexManager.java:73)
at com.ibm.sse.model.jsp.internal.java.search.JSPIndexManager$1.run(JSPIndexManager.java:50)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)Phil
Perry DillardMemberI’m having the same problem. ALL my .project files got affected by having this buildCommand added to them whether they are web projects or not. Looks like myEclipse has taken over somewhere in the Saving of .project files because I can’t even edit the file outside eclipse and have it stick. Next time I open eclipse it automagically adds that section back into the .project file. The real problem for me is I’m the only one on a team of about 20 people using myEclipse and I really only make use of the web stuff in one project. So now I can’t check in any .project files without affecting every other project. This seems like a bug to me.
=Perry
Perry DillardMemberOne additional thing… After closing all editor windows in Eclipse so that only my java package perspective is active I close eclipse. Then I clear my .log file in the metadata directory. The restart eclipse and then immediately exit I get the following in the .log file.
!SESSION Aug 19, 2004 13:57:27.981 ———————————————
eclipse.buildId=I200406251208
java.version=1.4.2_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -showlocation!ENTRY org.eclipse.osgi Aug 19, 2004 13:57:27.981
!MESSAGE The class “com.ibm.wtp.common.ui.UITesterImpl” cannot be loaded because the system is shutting down and the plug-in “com.ibm.wtp.common.ui” has already been stopped.
!STACK 0
java.lang.ClassNotFoundException: The class “com.ibm.wtp.common.ui.UITesterImpl” cannot be loaded because the system is shutting down and the plug-in “com.ibm.wtp.common.ui” has already been stopped.
at org.eclipse.core.runtime.adaptor.EclipseClassLoader.shouldActivateFor(EclipseClassLoader.java:147)
at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass(EclipseClassLoader.java:62)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:371)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
at com.ibm.wtp.common.UIContextDetermination$UITesterRegistryReader.readElement(UIContextDetermination.java:153)
at com.ibm.wtp.common.RegistryReader.internalReadElement(RegistryReader.java:61)
at com.ibm.wtp.common.RegistryReader.readRegistry(RegistryReader.java:99)
at com.ibm.wtp.common.UIContextDetermination.getCurrentContext(UIContextDetermination.java:69)
at com.ibm.etools.validate.internal.EventManager.isHeadless(EventManager.java:431)
at com.ibm.etools.validate.internal.EventManager.shutdown(EventManager.java:323)
at com.ibm.etools.validate.plugin.ValidationPlugin.shutdown(ValidationPlugin.java:137)
at org.eclipse.core.internal.compatibility.PluginActivator.stop(PluginActivator.java:74)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990)
at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437)
at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:75)
at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62)
at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551)
at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457)
at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182)
at java.lang.Thread.run(Thread.java:534)!ENTRY org.eclipse.core.runtime 4 1 Aug 19, 2004 13:57:27.981
!MESSAGE Plug-in com.ibm.wtp.common.ui was unable to load class com.ibm.wtp.common.ui.UITesterImpl.
!STACK 0
java.lang.ClassNotFoundException: com.ibm.wtp.common.ui.UITesterImpl
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:404)
at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
at com.ibm.wtp.common.UIContextDetermination$UITesterRegistryReader.readElement(UIContextDetermination.java:153)
at com.ibm.wtp.common.RegistryReader.internalReadElement(RegistryReader.java:61)
at com.ibm.wtp.common.RegistryReader.readRegistry(RegistryReader.java:99)
at com.ibm.wtp.common.UIContextDetermination.getCurrentContext(UIContextDetermination.java:69)
at com.ibm.etools.validate.internal.EventManager.isHeadless(EventManager.java:431)
at com.ibm.etools.validate.internal.EventManager.shutdown(EventManager.java:323)
at com.ibm.etools.validate.plugin.ValidationPlugin.shutdown(ValidationPlugin.java:137)
at org.eclipse.core.internal.compatibility.PluginActivator.stop(PluginActivator.java:74)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990)
at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437)
at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:75)
at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62)
at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551)
at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457)
at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182)
at java.lang.Thread.run(Thread.java:534)
Scott AndersonParticipantThe log entries on shutdown, while they might look dramatic, really don’t cause any problems per se. They’re just caused by the OSGi runtime trying to spin up plugins during shutdown and then realizing that it can’t. Most of the issues mentioned in this thread will be addressed in the 3.8.1 update available on Monday. I’ve opened a bug report for the structure builder addition for non-MyEclipse projects for investigation and resolution by 3.8.2.
donparkMemberI agree with others. I noticed it when I tried to sync my projects with CVS and found that all the project’s .project file showed up as changed. I can’t check them in because other members of my team, who manage the non-webapp projects and don’t use MyEclipse, will get build errors.
Scott AndersonParticipantDon,
The alteration of the .project files for non-web application projects that you’ve pointed out is certainly an issue. We’ve got a P1 problem report on it and expect to address it either with a quick fix or in the 3.8.2 maintenance release in the very near future. In the meantime, we apologize for the inconvenience this causes while we address it.
Scott AndersonParticipantAn additional question on this topic. The structured builder and validation builder are needed to build the underlying edit models for any of the editors (XML, XSD, CSS, etc). If removing these builders from the non-J2EE projects prevents you from editing or validating XML, for example, with our editors then I assume that would be an acceptable trade to all of you? You can think of it similarly to removing the Java builder and then not being able to compile java code in a project. Just to be clear I want to be sure you understand what you’re all asking for.
Jon NermutMemberCould it be opt in instead of automatic?
So that the first time that you try to edit an xml file using the myEclipse editor in a non J2EE project it gives you the option of adding the builders.
I really want to use the XSD and XML editors in a normal java project.
donparkMemberScott, IMHO packaging these builders as “capabilities” that developers can add to projects is the right way to go in the long run. So if a developer wants “smart editing” or “auto validation” capability, they can add it. Web Project capability can implicitly include these capabilities.
For the short run, just allowing per-project enable/disabling of builder insertion would be fine.
Scott AndersonParticipantGuys,
Thanks for the feedback. I’ll add the desire for “opt in” to the bug report. Seems like the best solution in the short term. The capabilities idea is certainly interesting in the longer term also.
kereszturiMemberI’m running the myeclipse plugin 3.8.3 and it’s still adding this stuff to all projects. This is royal pain. I have several non-myeclipse related projects that are being changed, causing issues for others on my team who don’t have myeclipse.
Is there any word on this problem?
-
AuthorPosts