ClassCastException at org.eclipse.xtext.builder.clustering.ClusteringBuilderState.doUpdate(Clusterin
Hi,
After upgrading xtext to 2.7.3 i get this exception in some cases
java.lang.ClassCastException: null
2015-07-02 13:44:19,842 ERROR o.e.x.b.c.ClusteringBuilderState: Error resolving cross references on resource 'platform:/resource/models/Demo/examples/comp.start'
java.lang.ClassCastException: null
2015-07-02 13:44:19,842 ERROR org.apache.log4j: org.eclipse.xtext.builder.clustering.ClusteringBuilderState - Error loading resource from: platform:/resource/models/Demo/examples/comp.start
org.eclipse.xtext.builder.resourceloader.IResourceLoader$LoadOperationException: java.lang.ClassCastException
at org.eclipse.xtext.builder.clustering.ClusteringBuilderState.doUpdate(ClusteringBuilderState.java:230)
at org.eclipse.xtext.builder.builderState.AbstractBuilderState.update(AbstractBuilderState.java:112)
at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:187)
at org.eclipse.xtext.builder.impl.XtextBuilder.incrementalBuild(XtextBuilder.java:167)
at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:95)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Any idea on how to get rid of this ??
This class will be called while starting the tool
public class dslXtextUtilities {
@Inject
Injector injector;
public org.eclipse.emf.ecore.resource.Resource parseString(String str){
org.eclipse.emf.ecore.resource.Resource xtextResource = null;
try {
URI uri = URI.createURI("stdt.dsl", true);
VhdlParser parser = injector.getInstance(VhdlParser.class);
XtextResourceSet xtextResourceSet = injector.getInstance(XtextResourceSet.class);
xtextResource = xtextResourceSet.createResource(uri);
xtextResourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
InputStream inputStream = new LazyStringInputStream(str);
((XtextResource) xtextResource).setParser(parser);
((XtextResource) xtextResource).load(inputStream, xtextResourceSet.getLoadOptions());
} catch (Exception e) {
return xtextResource;
return xtextResource;
==============================================
Here is the call
public class MApp implements IApplication {
public Object start(IApplicationContext context) throws Exception {
// unnecessaryExceptions
try {
dslXtextUtilities.parseString("int x = 0;");
Similar Messages
-
Getting issues in Mars verison of Eclipse (Xtext)
Hi,
I have been developing a project in Luna version with Xtext and everything is fine there. When I've switched to Mars version of Eclipse, I'm getting the following error. I installed Xtext and updated it to the latest version.
any help will be appreciated.
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: ExtendedGenerator)
org.eclipse.emf.common.util.WrappedException: java.lang.reflect.InvocationTargetException
at org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:183)
at org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment.generate(XtextAntlrUiGeneratorFragment.java:110)
at org.eclipse.xtext.generator.DefaultGeneratorFragment.generate(DefaultGeneratorFragment.java:167)
at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:163)
at org.eclipse.xtext.generator.Generator.generate(Generator.java:555)
at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:172)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:173)
... 15 more
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.resize(Unknown Source)
at java.util.HashMap.putVal(Unknown Source)
at java.util.HashMap.put(Unknown Source)
at java.util.HashSet.add(Unknown Source)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:630)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
java.lang.RuntimeException: Problems running workflow org.xtext.grl.tgrl.GenerateTGRL:
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: ExtendedGenerator)
org.eclipse.emf.common.util.WrappedException: java.lang.reflect.InvocationTargetException
at org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:183)
at org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment.generate(XtextAntlrUiGeneratorFragment.java:110)
at org.eclipse.xtext.generator.DefaultGeneratorFragment.generate(DefaultGeneratorFragment.java:167)
at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:163)
at org.eclipse.xtext.generator.Generator.generate(Generator.java:555)
at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:172)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:173)
... 15 more
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.resize(Unknown Source)
at java.util.HashMap.putVal(Unknown Source)
at java.util.HashMap.put(Unknown Source)
at java.util.HashSet.add(Unknown Source)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:630)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:104)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.RuntimeException:
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: ExtendedGenerator)
org.eclipse.emf.common.util.WrappedException: java.lang.reflect.InvocationTargetException
at org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:183)
at org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment.generate(XtextAntlrUiGeneratorFragment.java:110)
at org.eclipse.xtext.generator.DefaultGeneratorFragment.generate(DefaultGeneratorFragment.java:167)
at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:163)
at org.eclipse.xtext.generator.Generator.generate(Generator.java:555)
at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:172)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.xtext.generator.parser.antlr.AntlrToolFacade.runWithEncodingAndParams(AntlrToolFacade.java:173)
... 15 more
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.resize(Unknown Source)
at java.util.HashMap.putVal(Unknown Source)
at java.util.HashMap.put(Unknown Source)
at java.util.HashSet.add(Unknown Source)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:630)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:709)
at org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:683)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.handleIssues(Mwe2Bridge.java:56)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:48)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
... 4 moreHi,
I changed it to
-Xms1024m
-Xmx4000m
but it didn't work.
I don't know what's wrong with this version.
The process I follow for Luna:
- download a fresh Luna SR2
- add Xtext through Luna - http://download.eclipse.org/releases/luna
- compile and it works.
The process I follow for Mars:
- download a fresh Mars
- add Xtext through Mars - http://download.eclipse.org/releases/mars
- have to add org.eclipse.equinox.common
- compile and it does not work (show the mentioned error).
The whole project can be found at here
Thanks. -
Hi
All
I'm runing this Java class by a jsp to Search and Replace and saveAs a word document, when run the fisrt time it works OK, but if I run again I got this error:
What is happing there?
Following the Error and Source Java.
Thanks
11:59:49,234 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:3563)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:274)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:265)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:218)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:156)
at br.com.tryblob.view.WordSearchReplace.<init>(WordSearchReplace.java:36)
at org.apache.jsp.replacedoc_jsp._jspService(replacedoc_jsp.java:48)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Unknown Source)
12:00:56,843 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:3563)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:274)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:265)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:218)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:156)
at br.com.tryblob.view.WordSearchReplace.<init>(WordSearchReplace.java:36)
at org.apache.jsp.replacedoc_jsp._jspService(replacedoc_jsp.java:48)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Unknown Source)
==================JAVA CLASS=====================
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
import org.eclipse.swt.internal.ole.win32.TYPEATTR;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleAutomation;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.ole.win32.OleFunctionDescription;
import org.eclipse.swt.ole.win32.OlePropertyDescription;
import org.eclipse.swt.ole.win32.OleParameterDescription;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.ole.win32.Variant;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class WordSearchReplace {
private static final String PROG_ID = "Word.Application";
private static final int WD_REPLACE_ALL = 2;
private static final int WD_FIND_CONTINUE = 1;
private Shell shell = null;
private OleFrame frame = null;
private OleClientSite wordSite = null;
private OleAutomation wordAutomation = null;
private OleAutomation activeDocumentAutomation = null;
private boolean cleaned = false;
* Create a new instance of the WordSearchReplace class.
public WordSearchReplace() {
this.shell = new Shell();
this.frame = new OleFrame(this.shell, SWT.NONE);
this.wordSite = new OleClientSite(this.frame, SWT.NONE, WordSearchReplace.PROG_ID);
this.wordAutomation = new OleAutomation(this.wordSite);
* Open an MS Word file. This is a file whose name ends with the extension
* .doc or .doc and which conforms to the correct format.
* Note; if it is possible to open the named file, an attempt is made
* to cache an OleAutomation object referencing that file which will be
* referred to in future as the active document. Most other methods
* need to capture references to further OleAutomation(s) that have the
* active document as their root.
* @param fileName An instance of the String class that encapsulates the
* path to and name of the file that is to be opened.
* Note; the full path name must be supplied as Word
* will be opening the file and no assumptions can
* safely be made concerning the applications 'home'
* folder.
* @throws NullPointerException if a null value is passed to the fileName
* parameter.
* @throws FileNotFoundException if it is not possible to locate the
* file.
* @throws IllegalArgumentException if the name of the file does not end
* with either the .dot or .doc extensions.
* @throws SWTException if a problem occurs whilst invoking any of the OLE
* methods.
public void openFile(String fileName) throws SWTException,
NullPointerException,
FileNotFoundException,
IllegalArgumentException {
OleAutomation documentsAutomation = null;
int[] id = null;
Variant[] arguments = null;
Variant invokeResult = null;
try {
// Check the the file name is not null
if(fileName == null) {
throw new NullPointerException("Null value passed to " +
"fileName parameters of the openFile() method.");
// Check the the file names ends with '.dot' or '.doc'.
// Remember to include templates and docuemnts
if(!(fileName.endsWith(".doc")) && !(fileName.endsWith(".dot"))) {
throw new IllegalArgumentException(
"The filename must end with the extensions \'.doc\' or \'.dot\'");
// Check that the file exists
File fileToPrint = new File(fileName);
if(!(fileToPrint.exists())) {
throw new FileNotFoundException("The file " +
fileName +
"cannot be found.");
// From the application, get an automation for the Documents property
documentsAutomation = this.getChildAutomation(this.wordAutomation,
"Documents");
// Get the ID of the Open method
id = documentsAutomation.getIDsOfNames(new String[]{"Open"});
if(id == null) {
throw new SWTException("It was not possible to recover an " +
"identifer for the Open method in WordSearchReplace.openFile().");
// Build an array of parameters - holds just the file name
arguments = new Variant[1];
arguments[0] = new Variant(fileName);
// Invoke the Open method on the Documents property
invokeResult = documentsAutomation.invoke(id[0], arguments);
// If the call to invoke the open method failed, throw an SWTException
// to terminate processing.
if(invokeResult == null) {
throw new SWTException("An error occurred whilst invoking the " +
"Open method for the following file: " +
fileName +
" in WordSearchReplace.openFile().");
// If it was possible to open the document successfully, grab an
// automation object referencing the active document here.
else {
this.activeDocumentAutomation = this.getChildAutomation(
this.wordAutomation, "ActiveDocument");
finally {
// If the automation was instantiated then dispose of it to
// release resources. This OleAutomation was only required
// to open the file and can safely be released here.
if(documentsAutomation != null) {
documentsAutomation.dispose();
* Save the currently open file - the active document.
* @throws SWTException if a problem occurs whilst invoking any of the OLE
* methods.
public void save() throws SWTException {
int[] id = null;
Variant invokeResult = null;
// From the automation for the ActiveDocument object, get an id for
// the Save method
id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"Save"});
// If it was not possible to recover the id of the Save
// method, throw an exception to notify the user and terminate
// processing.
if(id == null) {
throw new SWTException("Unable to obtain an automation for " +
"the Save method in WordSearchReplace.save().");
// Invoke the Save method and catch the value returned
invokeResult = this.activeDocumentAutomation.invoke(id[0]);
// If a null value was returned then the invocation of the
// Save method failed. Throw an exception to notify the
// user and terminate processing.
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"Save method in WordSearchReplace.save().");
* Save the active document using the name provided.
* @param fileName Am instance of the String class encapsulating the name
* for the file. Again, the path to and name of the file should
* be supplied.
* @throws NullPointerException if a null value is passed to the fileName
* parameter.
* @throws IllegalArgumentException if either an empty String is passed
* to the fileName parameter or if the files name does not end
* with one of the two permissible extensions - .dot and .doc
public void saveAs(String fileName) throws SWTException,
NullPointerException,
IllegalArgumentException {
int[] id = null;
Variant[] arguments = null;
Variant invokeResult = null;
// If the fileName parameter is passed a null
// value, throw an exception.
if(fileName == null) {
throw new NullPointerException("A null value was passed to " +
"the fileName parameter of WordSearchReplace.saveAs().");
// If the fileName parameter has been passed an empty String
// then again throw an exception.
if(fileName.length() == 0) {
throw new NullPointerException("An empty string was passed " +
"to the fileName parameter of WordSearchReplace.saveAs().");
// Finally, make sure the file name ends in either
// .doc or .dot.
if((!fileName.endsWith(".dot")) && (!fileName.endsWith(".doc"))) {
throw new IllegalArgumentException("An illegal file name was " +
"passed to the fileName parameter of " +
"WordSearchReplace.saveAs(). The file name must " +
"end in \'.dot\' or \'.doc\'.");
// From the automation for the ActiveDocument object, get an id for
// the SaveAs method
id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"SaveAs"});
// If it was not possible to recover the id of the SaveAs
// method, throw an exception to notify the user and terminate
// processing.
if(id == null) {
throw new SWTException("Unable to obtain an automation for " +
"the SaveAs method in WordSearchReplace.saveAs().");
// Build the array of arguments that will be passed to the invoke
// method when the SaveAs method is invoked. In this case, this
// array will contain a single member - a String object encapsulating
// the path to and name of the output file.
arguments = new Variant[1];
arguments[0] = new Variant(fileName);
// Invoke the SaveAs method and catch the value returned
invokeResult = this.activeDocumentAutomation.invoke(id[0], arguments);
// If a null value was returned then the invocation of the
// PrintOut method failed. Throw an exception to notify the
// user and terminate processing.
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"SaveAs method in WordSearchReplace.saveAs().");
* Mimics Words 'replace' functionality by searching the active
* document for evey string of characters that matches the value passed to
* the searchTerm parameter and replacing them with the string of
* characters passed to the replacementTerm method.
* It is possible to code a VBA macro within Word that will perfrom a serach
* and replace. That code would look like the following;
* <pre>
* Selection.Find.ClearFormatting
* Selection.Find.Replacement.ClearFormatting
* With Selection.Find
* .Text = "serach"
* .Replacement.Text = "search"
* .Forward = True
* .Wrap = wdFindContinue
* .Format = False
* .MatchCase = False
* .MatchWholeWord = False
* .MatchWildcards = False
* .MatchSoundsLike = False
* .MatchAllWordForms = False
* End With
* Selection.Find.Execute Replace:=wdReplaceAll
* <pre>
* and this method will 'automate' it.
* @param searchTerm An instance of the String class that will encapsulate
* the series of characters that should be replaced.
* @param replacementTerm An instance of the String class that will
* encapsulate the series of characters that should replace the
* searchTerm.
* @throws NullPointerException if a null value is passed to either the
* searchTerm or replacementTerm methods.
* @throws SWTException if a problem occurs when invoking any of the
* OLE methods.
public void replace(String searchTerm,
String replacementTerm) throws SWTException,
NullPointerException {
OleAutomation selectionFindAutomation = null;
OleAutomation childAutomation = null;
Variant[] arguments = null;
Variant invokeResult = null;
int[] id = null;
int[] namedArguments = null;
boolean success = true;
// Validate the searchTerm parameter and throw exception if
// null value passed.
if(searchTerm == null) {
throw new NullPointerException("Null value passed to " +
"searchTerm parameter of the replace() method.");
// Validate the replacementTerm parameter and throw exception if
// null value passed.
if(replacementTerm == null) {
throw new NullPointerException("Null value passed to " +
"replacementTerm parameter of the replace() method.");
// Most of the VBA instructions used to perform the search and
// replace functionality and child automations of Selection.Find,
// therefore, it is wise to cache that automation first.
// From the application, get an automation for the Selection property
childAutomation = this.getChildAutomation(this.wordAutomation,
"Selection");
selectionFindAutomation = this.getChildAutomation(childAutomation,
"Find");
// Next, using the cached automation, invoke the 'ClearFormatting'
// method, validate the returned value and invoke the method.
// Selection.Find.ClearFormatting
id = selectionFindAutomation.getIDsOfNames(new String[]{"ClearFormatting"});
if(id == null) {
throw new SWTException("It is not possible to recover an identifier " +
"for the ClearFormatting method in WordSearchReplace.replace() " +
"when clearing the formatting for the search string.");
invokeResult = selectionFindAutomation.invoke(id[0]);
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"ClearFormatting method in WordSearchReplace.repace() " +
"when clearing formatting for the search string.");
// Now, perform the same function but for the replacement string.
// Selection.Find.Replacement.ClearFormatting
childAutomation = this.getChildAutomation(selectionFindAutomation,
"Replacement");
id = childAutomation.getIDsOfNames(new String[]{"ClearFormatting"});
if(id == null) {
throw new SWTException("It is not possible to recover an identifier " +
"for the ClearFormatting method in WordSearchReplace.replace() " +
"when clearing the formatting for the replacement string.");
invokeResult = childAutomation.invoke(id[0]);
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"ClearFormatting method in WordSearchReplace.repace() " +
"when clearing formatting for the replacement string.");
// Firstly, set the search text.
// .Text = "search term"
arguments = new Variant[1];
arguments[0] = new Variant(searchTerm);
success = this.setPropertyValue(selectionFindAutomation, "Text", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Text " +
"property for the search string in WordSearchReplace.replace().");
// Next, the replacement text
// .Replacement.Text = "replacement term"
childAutomation = this.getChildAutomation(selectionFindAutomation,
"Replacement");
arguments[0] = new Variant(replacementTerm);
success = this.setPropertyValue(childAutomation, "Text", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Text property" +
" for the replacement string in WordSearchReplace.replace().");
// Set the direction of the search - forward in this case.
// .Forward = True
arguments[0] = new Variant(true);
success = this.setPropertyValue(selectionFindAutomation, "Forward", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Forward " +
"property in WordSearchReplace.replace().");
// Tell the search to wrap. Note the literal wdFindContinue relates to
// a constant that is defined within Word. I have provided a static
// final to replace it called WD_FIND_CONTINUE
// .Wrap = wdFindContinue
arguments[0] = new Variant(WordSearchReplace.WD_FIND_CONTINUE);
success = this.setPropertyValue(selectionFindAutomation, "Wrap", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Wrap " +
"property in WordSearchReplace.replace().");
// Set the Format property to False.
// .Format = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "Format", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Format " +
"property in WordSearchReplace.replace().");
// Set the MatchCase property to false.
// .MatchCase = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchCase", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the MatchCase " +
"property in WordSearchReplace.replace().");
// Set the MatchWholeWord property to false.
// .MatchWholeWord = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchWholeWord", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchWholeWord property in WordSearchReplace.replace().");
// Set the MatchWildCards property to false.
// .MatchWildcards = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchWildCards", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchWildCards property in WordSearchReplace.replace().");
// Set the MatchSoundsLike property to false.
// .MatchSoundsLike = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchSoundsLike", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchSoundsLike property in WordSearchReplace.replace().");
// Set the MatchAllWordForms property to false.
// .MatchAllWordForms = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchAllWordForms", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchAllWordForms property in WordSearchReplace.replace().");
// Invoke the Execute command passing the correct value to the Replace
// parameter. Again, wdReplaceAll is a constant that I have provided
// a ststic final for called WD_REPLACE_ALL
// Selection.Find.Execute Replace:=wdReplaceAll
id = selectionFindAutomation.getIDsOfNames(new String[]{"Execute", "Replace"});
if(id == null) {
throw new SWTException("It was not possible to recover an identifier " +
"for the Execute method in WordSearchReplace.replace().");
arguments = new Variant[1];
arguments[0] = new Variant(WordSearchReplace.WD_REPLACE_ALL);
namedArguments = new int[1];
namedArguments[0] = id[1];
// There was some indication that the invokeNoReply method should
// be used when making this call but no, invoke SEEMS to work well
//selectionFindAutomation.invokeNoReply(id[0], arguments, namedArguments);
invokeResult = selectionFindAutomation.invoke(id[0], arguments, namedArguments);
if(invokeResult == null) {
throw new SWTException("A problem occurred trying to invoke the " +
"Execute method in WordSearchReplace.replace().");
* Close the active document.
* @throws SWTException if a problem is encountered invoking any of the
* OLE methods.
public void closeFile() throws SWTException {
int[] id = null;
Variant[] arguments = null;
Variant invokeResult = null;
try {
// From the OleAutomation referencing the active document, recover
// the id of the Close method.
id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"Close"});
// If it was not possible to recover the id of the Close
// method then throw an exception to notify the user and
// terminate processing.
if(id == null) {
throw new SWTException("It was not possible to recover an " +
"identifier for the Close method in " +
"WordSearchReplace.closeFile().");
// Invoke the Close method on the ActiveDocument automation
invokeResult = this.activeDocumentAutomation.invoke(id[0]);
// If the invocation of the Close method failed, throw an
// exception to notify the user and terminate processing.
if(invokeResult == null) {
throw new SWTException(
"An error occurred invoking the Close method in " +
"WordSearchReplace.closeFile().");
finally {
if(this.activeDocumentAutomation != null) {
this.activeDocumentAutomation.dispose();
* Release resources.
public void dispose() throws SWTException {
try {
// Set the cleaned flag to true. This prevents the method from
// running again if it is called from the finalize() method
this.cleaned = true;
// From the word automation, recover the id of the Quit method
int[] id = this.wordAutomation.getIDsOfNames(new String[]{"Quit"});
// If the id of the Quit method cannot be recovered
// throw an exception - not much good really though.
if(id == null) {
throw new SWTException("Unable to obtain an id for the Quit " +
"property in WordSearchReplace.dispose().");
// Invoke Quit
Variant result = this.wordAutomation.invoke(id[0]);
// If an error occurs during the invocation, throw an exception.
// Again though that exception is of limited value.
if(result == null) {
throw new SWTException("A problem occurred trying to invoke the " +
"Quit method in WordSearchReplace.dispose().");
finally {
// Finally, dispose of the word application automation.
this.wordAutomation.dispose();
* The finalize() method has been over-ridden to ensure that resources
* are correctly released if a WordSearchReplace object is created but
* not disposed of properly before it becomes eligible for garbage
* collection. The cleaned flag is used as acheck to ensure that the
* dispose() method cannot be called more than once.
public void finalize() throws Throwable {
if(!this.cleaned) {
this.dispose();
* Creates and returns a 'child' OleAutomation object. The object model
* employed by Word, Excel and the like, arrange objects, methods and
* properties hierarchically. To invoke a method, it is often necessary
* to iterate through this hierarchy from parent to child and this method
* supports that process.
* @param automation An OleAutomation object that references the parent
* automation.
* @param childName An instance of the String class that encapsulates the
* name of the child automation.
* @throws SWTException if a problem is encountered invoking one or
* other of the OLE methods.
private OleAutomation getChildAutomation(OleAutomation automation,
String childName) throws SWTException {
// Try to recove the unique identifier for the child automation
int[] id = automation.getIDsOfNames(new String[]{childName});
// If the identifier cannot be found then throw an exception to
// terminate processing.
if (id == null) {
throw new SWTException(
"A problem occurred trying to obtain and id for: " +
childName +
"in the getCWhen you call it the first time, it new Shell() constructs a new Display for you (the default).
The second time, it gets the default display, but you are in a different Thread now. Since you have to create your widgets in the UI thread, it gives you that error.
To run code in the UI thread, Display provides two methods:
display.syncexec(..)and
display.asyncexec(...)see
http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/swt_threading.htm
for more details. -
Org.eclipse.swt.SWTException: Invalid thread access - Action struts
Hi
I�m runing this WordSearchReplace java class that I got here in this forum, and I�m runing it doing search and replace in Ms word document if I run just one time it works ok, but if I run twice i got that erro, I�m runing that java class in my Action on struts.
I don�t know what is occur.
Can you help me?
Thanks
Following the example of call, mistakes and java class.
//======RUNING THE WordSearchReplace JAVA CLASS=========
WordSearchReplace wordSR = null;
try {
String[] v_text = {"#V46#","#V42#"};
String[] v_replace = {"Texto1","Texto2"};
wordSR = new WordSearchReplace();
wordSR.openFile(v_path+v_file_name);
for ( int i=0; i<v_text.length; i++ )
wordSR.replace( v_text, v_replace[i] );
wordSR.save();
wordSR.closeFile();
catch(Exception e) {
System.out.println("Caught: ERRO ao Executar WordSearchReplace " + e.getClass().getName());
System.out.println(e.getMessage());
e.printStackTrace(System.out);
finally {
if(wordSR != null) {
try {
wordSR.dispose();
catch(Exception innerE) {
System.out.println("Caught: " + innerE.getClass().getName());
System.out.println(innerE.getMessage());
innerE.printStackTrace(System.out);
//========ERRO ===========================
17:24:49,093 INFO [STDOUT] Invalid thread access
17:24:49,093 INFO [STDOUT] org.eclipse.swt.SWTException: Invalid thread access
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.SWT.error(SWT.java:3563)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.SWT.error(SWT.java:3481)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.SWT.error(SWT.java:3452)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:274)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:265)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:218)
17:24:49,093 INFO [STDOUT] at org.eclipse.swt.widgets.Shell.<init>(Shell.java:156)
17:24:49,093 INFO [STDOUT] at br.com.tryblob.view.WordSearchReplace.<init>(WordSearchReplace.java:38)
17:24:49,093 INFO [STDOUT] at br.com.tryblob.view.WordAction.execute(WordAction.java:70)
17:24:49,093 INFO [STDOUT] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
17:24:49,093 INFO [STDOUT] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
17:24:49,093 INFO [STDOUT] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
17:24:49,093 INFO [STDOUT] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
17:24:49,093 INFO [STDOUT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
//====== WordSearchReplace JAVA CLASS=========
import java.util.ArrayList;
import java.util.Iterator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
import org.eclipse.swt.internal.ole.win32.TYPEATTR;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleAutomation;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.ole.win32.OleFunctionDescription;
import org.eclipse.swt.ole.win32.OlePropertyDescription;
import org.eclipse.swt.ole.win32.OleParameterDescription;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.ole.win32.Variant;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class WordSearchReplace {
private static final String PROG_ID = "Word.Application";
private static final int WD_REPLACE_ALL = 2;
private static final int WD_FIND_CONTINUE = 1;
private Shell shell = null;
private OleFrame frame = null;
private OleClientSite wordSite = null;
private OleAutomation wordAutomation = null;
private OleAutomation activeDocumentAutomation = null;
private boolean cleaned = false;
* Create a new instance of the WordSearchReplace class.
public WordSearchReplace() {
this.shell = new Shell();
this.frame = new OleFrame(this.shell, SWT.NONE);
this.wordSite = new OleClientSite(this.frame, SWT.NONE, WordSearchReplace.PROG_ID);
this.wordAutomation = new OleAutomation(this.wordSite);
* Open an MS Word file. This is a file whose name ends with the extension
* .doc or .doc and which conforms to the correct format.
* Note; if it is possible to open the named file, an attempt is made
* to cache an OleAutomation object referencing that file which will be
* referred to in future as the active document. Most other methods
* need to capture references to further OleAutomation(s) that have the
* active document as their root.
* @param fileName An instance of the String class that encapsulates the
* path to and name of the file that is to be opened.
* Note; the full path name must be supplied as Word
* will be opening the file and no assumptions can
* safely be made concerning the applications 'home'
* folder.
* @throws NullPointerException if a null value is passed to the fileName
* parameter.
* @throws FileNotFoundException if it is not possible to locate the
* file.
* @throws IllegalArgumentException if the name of the file does not end
* with either the .dot or .doc extensions.
* @throws SWTException if a problem occurs whilst invoking any of the OLE
* methods.
public void openFile(String fileName) throws SWTException,
NullPointerException,
FileNotFoundException,
IllegalArgumentException {
OleAutomation documentsAutomation = null;
int[] id = null;
Variant[] arguments = null;
Variant invokeResult = null;
try {
// Check the the file name is not null
if(fileName == null) {
throw new NullPointerException("Null value passed to " +
"fileName parameters of the openFile() method.");
// Check the the file names ends with '.dot' or '.doc'.
// Remember to include templates and docuemnts
if(!(fileName.endsWith(".doc")) && !(fileName.endsWith(".dot"))) {
throw new IllegalArgumentException(
"The filename must end with the extensions \'.doc\' or \'.dot\'");
// Check that the file exists
File fileToPrint = new File(fileName);
if(!(fileToPrint.exists())) {
throw new FileNotFoundException("The file " +
fileName +
"cannot be found.");
// From the application, get an automation for the Documents property
documentsAutomation = this.getChildAutomation(this.wordAutomation,
"Documents");
// Get the ID of the Open method
id = documentsAutomation.getIDsOfNames(new String[]{"Open"});
if(id == null) {
throw new SWTException("It was not possible to recover an " +
"identifer for the Open method in WordSearchReplace.openFile().");
// Build an array of parameters - holds just the file name
arguments = new Variant[1];
arguments[0] = new Variant(fileName);
// Invoke the Open method on the Documents property
invokeResult = documentsAutomation.invoke(id[0], arguments);
// If the call to invoke the open method failed, throw an SWTException
// to terminate processing.
if(invokeResult == null) {
throw new SWTException("An error occurred whilst invoking the " +
"Open method for the following file: " +
fileName +
" in WordSearchReplace.openFile().");
// If it was possible to open the document successfully, grab an
// automation object referencing the active document here.
else {
this.activeDocumentAutomation = this.getChildAutomation(
this.wordAutomation, "ActiveDocument");
finally {
// If the automation was instantiated then dispose of it to
// release resources. This OleAutomation was only required
// to open the file and can safely be released here.
if(documentsAutomation != null) {
documentsAutomation.dispose();
* Save the currently open file - the active document.
* @throws SWTException if a problem occurs whilst invoking any of the OLE
* methods.
public void save() throws SWTException {
int[] id = null;
Variant invokeResult = null;
// From the automation for the ActiveDocument object, get an id for
// the Save method
id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"Save"});
// If it was not possible to recover the id of the Save
// method, throw an exception to notify the user and terminate
// processing.
if(id == null) {
throw new SWTException("Unable to obtain an automation for " +
"the Save method in WordSearchReplace.save().");
// Invoke the Save method and catch the value returned
invokeResult = this.activeDocumentAutomation.invoke(id[0]);
// If a null value was returned then the invocation of the
// Save method failed. Throw an exception to notify the
// user and terminate processing.
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"Save method in WordSearchReplace.save().");
* Save the active document using the name provided.
* @param fileName Am instance of the String class encapsulating the name
* for the file. Again, the path to and name of the file should
* be supplied.
* @throws NullPointerException if a null value is passed to the fileName
* parameter.
* @throws IllegalArgumentException if either an empty String is passed
* to the fileName parameter or if the files name does not end
* with one of the two permissible extensions - .dot and .doc
public void saveAs(String fileName) throws SWTException,
NullPointerException,
IllegalArgumentException {
int[] id = null;
Variant[] arguments = null;
Variant invokeResult = null;
// If the fileName parameter is passed a null
// value, throw an exception.
if(fileName == null) {
throw new NullPointerException("A null value was passed to " +
"the fileName parameter of WordSearchReplace.saveAs().");
// If the fileName parameter has been passed an empty String
// then again throw an exception.
if(fileName.length() == 0) {
throw new NullPointerException("An empty string was passed " +
"to the fileName parameter of WordSearchReplace.saveAs().");
// Finally, make sure the file name ends in either
// .doc or .dot.
if((!fileName.endsWith(".dot")) && (!fileName.endsWith(".doc"))) {
throw new IllegalArgumentException("An illegal file name was " +
"passed to the fileName parameter of " +
"WordSearchReplace.saveAs(). The file name must " +
"end in \'.dot\' or \'.doc\'.");
// From the automation for the ActiveDocument object, get an id for
// the SaveAs method
id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"SaveAs"});
// If it was not possible to recover the id of the SaveAs
// method, throw an exception to notify the user and terminate
// processing.
if(id == null) {
throw new SWTException("Unable to obtain an automation for " +
"the SaveAs method in WordSearchReplace.saveAs().");
// Build the array of arguments that will be passed to the invoke
// method when the SaveAs method is invoked. In this case, this
// array will contain a single member - a String object encapsulating
// the path to and name of the output file.
arguments = new Variant[1];
arguments[0] = new Variant(fileName);
// Invoke the SaveAs method and catch the value returned
invokeResult = this.activeDocumentAutomation.invoke(id[0], arguments);
// If a null value was returned then the invocation of the
// PrintOut method failed. Throw an exception to notify the
// user and terminate processing.
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"SaveAs method in WordSearchReplace.saveAs().");
* Mimics Words 'replace' functionality by searching the active
* document for evey string of characters that matches the value passed to
* the searchTerm parameter and replacing them with the string of
* characters passed to the replacementTerm method.
* It is possible to code a VBA macro within Word that will perfrom a serach
* and replace. That code would look like the following;
* <pre>
* Selection.Find.ClearFormatting
* Selection.Find.Replacement.ClearFormatting
* With Selection.Find
* .Text = "serach"
* .Replacement.Text = "search"
* .Forward = True
* .Wrap = wdFindContinue
* .Format = False
* .MatchCase = False
* .MatchWholeWord = False
* .MatchWildcards = False
* .MatchSoundsLike = False
* .MatchAllWordForms = False
* End With
* Selection.Find.Execute Replace:=wdReplaceAll
* <pre>
* and this method will 'automate' it.
* @param searchTerm An instance of the String class that will encapsulate
* the series of characters that should be replaced.
* @param replacementTerm An instance of the String class that will
* encapsulate the series of characters that should replace the
* searchTerm.
* @throws NullPointerException if a null value is passed to either the
* searchTerm or replacementTerm methods.
* @throws SWTException if a problem occurs when invoking any of the
* OLE methods.
public void replace(String searchTerm,
String replacementTerm) throws SWTException,
NullPointerException {
OleAutomation selectionFindAutomation = null;
OleAutomation childAutomation = null;
Variant[] arguments = null;
Variant invokeResult = null;
int[] id = null;
int[] namedArguments = null;
boolean success = true;
// Validate the searchTerm parameter and throw exception if
// null value passed.
if(searchTerm == null) {
throw new NullPointerException("Null value passed to " +
"searchTerm parameter of the replace() method.");
// Validate the replacementTerm parameter and throw exception if
// null value passed.
if(replacementTerm == null) {
throw new NullPointerException("Null value passed to " +
"replacementTerm parameter of the replace() method.");
// Most of the VBA instructions used to perform the search and
// replace functionality and child automations of Selection.Find,
// therefore, it is wise to cache that automation first.
// From the application, get an automation for the Selection property
childAutomation = this.getChildAutomation(this.wordAutomation,
"Selection");
selectionFindAutomation = this.getChildAutomation(childAutomation,
"Find");
// Next, using the cached automation, invoke the 'ClearFormatting'
// method, validate the returned value and invoke the method.
// Selection.Find.ClearFormatting
id = selectionFindAutomation.getIDsOfNames(new String[]{"ClearFormatting"});
if(id == null) {
throw new SWTException("It is not possible to recover an identifier " +
"for the ClearFormatting method in WordSearchReplace.replace() " +
"when clearing the formatting for the search string.");
invokeResult = selectionFindAutomation.invoke(id[0]);
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"ClearFormatting method in WordSearchReplace.repace() " +
"when clearing formatting for the search string.");
// Now, perform the same function but for the replacement string.
// Selection.Find.Replacement.ClearFormatting
childAutomation = this.getChildAutomation(selectionFindAutomation,
"Replacement");
id = childAutomation.getIDsOfNames(new String[]{"ClearFormatting"});
if(id == null) {
throw new SWTException("It is not possible to recover an identifier " +
"for the ClearFormatting method in WordSearchReplace.replace() " +
"when clearing the formatting for the replacement string.");
invokeResult = childAutomation.invoke(id[0]);
if(invokeResult == null) {
throw new SWTException("A problem occurred invoking the " +
"ClearFormatting method in WordSearchReplace.repace() " +
"when clearing formatting for the replacement string.");
// Firstly, set the search text.
// .Text = "search term"
arguments = new Variant[1];
arguments[0] = new Variant(searchTerm);
success = this.setPropertyValue(selectionFindAutomation, "Text", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Text " +
"property for the search string in WordSearchReplace.replace().");
// Next, the replacement text
// .Replacement.Text = "replacement term"
childAutomation = this.getChildAutomation(selectionFindAutomation,
"Replacement");
arguments[0] = new Variant(replacementTerm);
success = this.setPropertyValue(childAutomation, "Text", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Text property" +
" for the replacement string in WordSearchReplace.replace().");
// Set the direction of the search - forward in this case.
// .Forward = True
arguments[0] = new Variant(true);
success = this.setPropertyValue(selectionFindAutomation, "Forward", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Forward " +
"property in WordSearchReplace.replace().");
// Tell the search to wrap. Note the literal wdFindContinue relates to
// a constant that is defined within Word. I have provided a static
// final to replace it called WD_FIND_CONTINUE
// .Wrap = wdFindContinue
arguments[0] = new Variant(WordSearchReplace.WD_FIND_CONTINUE);
// System.out.println("jose vieira WD_FIND_CONTINUE:" + arguments[0]);
success = this.setPropertyValue(selectionFindAutomation, "Wrap", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Wrap " +
"property in WordSearchReplace.replace().");
// Set the Format property to False.
// .Format = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "Format", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the Format " +
"property in WordSearchReplace.replace().");
// Set the MatchCase property to false.
// .MatchCase = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchCase", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the MatchCase " +
"property in WordSearchReplace.replace().");
// Set the MatchWholeWord property to false.
// .MatchWholeWord = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchWholeWord", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchWholeWord property in WordSearchReplace.replace().");
// Set the MatchWildCards property to false.
// .MatchWildcards = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchWildCards", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchWildCards property in WordSearchReplace.replace().");
// Set the MatchSoundsLike property to false.
// .MatchSoundsLike = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchSoundsLike", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchSoundsLike property in WordSearchReplace.replace().");
// Set the MatchAllWordForms property to false.
// .MatchAllWordForms = False
arguments[0] = new Variant(false);
success = this.setPropertyValue(selectionFindAutomation, "MatchAllWordForms", arguments);
if(!success) {
throw new SWTException("A problem occurred setting the " +
"MatchAllWordForms property in WordSearchReplace.replace().");
// Invoke the Execute command passing the correct value to the Replace
// parameter. Again, wdReplaceAll is a constant that I have provided
// a ststic final for called WD_REPLACE_ALL
// Selection.Find.Execute Replace:=wdReplaceAll
id = selectionFindAutomation.getIDsOfNames(new String[]{"Execute", "Replace"});
if(id == null) {
throw new SWTException("It was not possible to recover an identifier " +
"for the Execute method in WordSearchReplace.replace().");
arguments = new Variant[1];
arguments[0] = new Variant(WordSearchReplace.WD_REPLACE_ALL);
namedArguments = new int[1];
namedArguments[0] = id[1];
// There was some indication that the invokeNoReply method should
// be used when making this call but no, invoke SEEMS to work well
//selectionFindAutomation.invokeNoReply(id[0], arguments, namedArguments);
invokeResult = selectionFindAutomation.invoke(id[0], arguments, namedArguments);
if(invokeResult == null) {
throw new SWTException("A problem occurred trying to invoke the " +
"Execute method in WordSearchReplace.replace().");
* Close the active document.
* @throws SWTException if a problem is encountered invoking any of the
* OLE methods.
public void closeFile() throws SWTException {
int[] id = null;
Variant[] arguments = null;
Variant invokeResult = null;
try {
// From the OleAutomation referencing the active document, recover
// the id of the Close method.
id = this.activeDocumentAutomation.getIDsOfNames(new String[]{"Close"});
// If it was not possible to recover the id of the Close
// method then throw an exception to notify the user and
// terminate processing.
if(id == null) {
throw new SWTException("It was not possible to recover an " +
"identifier for the Close method in " +
"WordSearchReplace.closeFile().");
// Invoke the Close method on the ActiveDocument automation
invokeResult = this.activeDocumentAutomation.invoke(id[0]);
// If the invocation of the Close method failed, throw an
// exception to notify the user and terminate processing.
if(invokeResult == null) {
throw new SWTException(
"An error occurred invoking the Close method in " +
"WordSearchReplace.closeFile().");
finally {
if(this.activeDocumentAutomation != null) {
this.activeDocumentAutomation.dispose();
* Release resources.
public void dispose() throws SWTException {
try {
// Set the cleaned flag to true. This prevents the method from
// running again if it is called from the finalize() method
this.cleaned = true;
// From the word automation, recover the id of the Quit method
int[] id = this.wordAutomation.getIDsOfNames(new String[]{"Quit"});
// If the id of the Quit method cannot be recovered
// throw an exception - not much good really though.
if(id == null) {
throw new SWTException("Unable to obtain an id for the Quit " +
"property in WordSearchReplace.dispose().");
// Invoke Quit
Variant result = this.wordAutomation.invoke(id[0]);
// If an error occurs during the invocation, throw an exception.
// Again though that exception is of limited value.
if(result == null) {
throw new SWTException("A problem occurred trying to invoke the " +
"Quit method in WordSearchReplace.dispose().");
finally {
// Finally, dispose of the word application automation.
this.wordAutomation.dispose();
* The finalize() method has been over-ridden to ensure that resources
* are correctly released if a WordSearchReplace object is created but
* not disposed of properly before it becomes eligible for garbage
* collection. The cleaned flag is used as acheck to ensure that the
* dispose() method cannot be called more than once.
public void finalize() throws Throwable {
if(!this.cleaned) {
this.dispose();
* Creates and returns a 'child' OleAutomation object. The object model
* employed by Word, Excel and the like, arrange objects, methods and
* properties hierarchically. To invoke a method, it is often necessary
* to iterate through this hierarchy from parent to child and this method
* supports that process.
* @param automation An OleAutomation object that references the parent
* automation.
* @param childName An instance of the String class that encapsulates the
* name of the child automation.
* @throws SWTException if a problem is encountered invoking one or
* other of the OLE methods.
private OleAutomation getChildAutomation(OleAutomation automation,
String childName) throws SWTException {
// Try to recove the unique identifier for the child automation
int[] id = automation.getIDsOfNames(new String[]{childName});
// If the identifier cannot be found then throw an exception to
// terminate processing.
if (id == null) {
throw new SWTException(
"A problem occurred trying to obtain and id for: " +
childName +
"in the getChildAutomation() method.");
// SWT's implementation of OLE referes to all of Words objects, methods
// and properties using the single term 'property'. The next stage
// therefore is to recover a refence to the 'property' that relates
// to the child automation.
Variant pVarResult = automation.getProperty(id[0]);
// If it is not possible to recover a 'property' for the child
// automation, then throw an SWTException.
if (pVarResult == null) {
throw new SWTException(
"A problem occurred trying to obtain an automation for property: " +
id[0] +
" in the getChildAutomation() method.");
// As we are after a child automation in this instance, call the
// getAutomation() method on the 'property'.
return(pVarResult.getAutomation());
* Sets the value of a property.
* @param automation An instance of the OleAutomation class that will
* hold a reference to the properties parent automation object
* @param propertyName An instance of the String class that encapsulates the
* name of the property whose value is to be set.
* @param arguments An array of type Variant whose elements contain the
* values that will be set for the named property.
* @return A primitive boolean value that indicates whether or not the
* properties value was successfully set.
* @throws NullPointerException will be thrown if a null value is passed to
* any of the methods three arguments.
* @throws IllegalArgumentException will be thrown if an empty String
* is passed to the propertyName parameter or if an empty array
* is passed to the arguments parameter. Note, no check is made
* on the vallues of the elements in the arguments array.
* @throws SWTException will be thrown if a problem is encountered
* imvoking any of the OLE methods.
private boolean setPropertyValue(OleAutomation automation,
String propertyName,
Variant[] arguments) throws SWTException,
NullPointerException,
IllegalArgumentException {
// Validate the various parameters
if(automation == null) {
throw new NullPointerException(
"A null value was pasAlright, I'll try to keep it as simple as possible. If that's not going to work out, we can always complicate it later :)
I suppose you had a look at the link and I assume you know about threads.
We can easily fix this issue if you are instantiating, calling and disposing the object within one thread, e.g. you use it only in one method like
public mySwtExecutionMethod(String fileName){
WordSearchReplace replace = new WordSearchReplace();
// do your replacing here
replace.dispose();
// no reference to replace is left so it won't escape this thread
}Now the fix for your class becomes simple. As you remember from the link, you have to call all methods from within the UI thread. We will now create a Display every time upon instantiation of WordSearchReplace, so the current thread becomes the UI thread.
I had a look at the constructor, and the overhead doesn't seem that bad, provided this is not a dedicated search&replace server.
private final Display display;
public WordSearchReplace()
display = new Display(); // create display
this.shell = new Shell(display); // initialize shell with new display so this thread becomes the UI thread
this.frame = new OleFrame(this.shell, SWT.NONE);
this.wordSite = new OleClientSite(this.frame, SWT.NONE, WordSearchReplace.PROG_ID);
this.wordAutomation = new OleAutomation(this.wordSite);
}Since we always create a new Display, we should also dispose it. There is already a dispose() method, so we just have to add to it
display.dispose();That's it!
If you hold on longer to your reference and this isn't working for you, you'd have to do a lot more synchronizing and that the UI thread still exist as long as the reference.
Wish you good luck -
Import org.eclipse.....
I've downloaded source code of one software and i've tried to compile and run it.
But it doesn't work...the error is in the part of import said that "import org.eclipse cannot be resolved"
some parts of code are
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Point;
Does anyone have any suggestion how to solve this problem?
I've also downloaded org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar but i don't know how to add it into the eclipse to make it works.
ThanksIn your project explorer rightclick your project, from the context menu select Build Path -> Add external Jar. In the dialog select the jar file you want to add.
-
I started up FB 4 today and got this error in my log:
Any ideas good friends?
!SESSION 2009-10-28 12:33:26.601 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_16
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86 -clean -data H:\My Documents\Flash Builder 4 -clean
!ENTRY org.eclipse.update.configurator 4 0 2009-10-28 12:33:30.367
!MESSAGE Unable to find feature.xml in directory: C:\Program Files\Adobe\Adobe Flash Builder Beta 2\features\com.adobe.ide.coldfusion.feature_1.0.0.253229-8LAqPgroE9KlmfZZdDcADiNC
!ENTRY org.eclipse.ui 4 0 2009-10-28 12:34:13.745
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.adobe.flexbuilder.standalone.FlexBuilderApplication.start(FlexBuilderApplication.java :99)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLau ncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.jav a:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Caused by: java.lang.NullPointerException
at org.eclipse.eclipsemonkey.actions.RecreateMonkeyMenuAction.createTheMenu(RecreateMonkeyMe nuAction.java:118)
at org.eclipse.eclipsemonkey.actions.RecreateMonkeyMenuAction.run(RecreateMonkeyMenuAction.j ava:71)
at org.eclipse.eclipsemonkey.UpdateMonkeyActionsResourceChangeListener$2.run(UpdateMonkeyAct ionsResourceChangeListener.java:256)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
... 22 more
!SESSION 2009-10-29 09:05:49.373 -----------------------------------------------
eclipse.buildId=unknownI went and deleted my metadata folder it FB4 stared ok _
-
hi this is my ant build.xml file
my eclipse ver : 3.3.0
when i try to run this build file i am getting the error repeatedly
please some one solve my problem i am unable find solution on eclipse
forum site please help me
thank you
<?xml version = "1.0" encoding = "UTF-8" ?>
<project name = "AntPractice" default = "Main Build" basedir=".">
<property name="bin" location="bin"/>
<property name="src" location="src"/>
<property name="jardir" location="${bin}/lib"/>
<property name="jarfile" location="${jardir}/AntPractice.jar"/>
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<target name="Main Build" depends="Initialize, compile, jar">
<echo message = "Ant At Work!" />
</target>
<target name="Initialize">
<delete dir = "${bin}" />
<delete dir = "${jardir}" />
<mkdir dir="${bin}"/>
<mkdir dir="${jardir}"/>
</target>
<target name="compile" depends="Initialize">
<javac srcdir="${src}" destdir="${bin}">
</javac>
</target>
<target name="jar" depends="Initialize, compile" >
<jar destfile="${jarfile}" basedir="${bin}" />
</target>
</project>
my run output is:
Buildfile: G:\eclipse installation dir\shiva eclipse workspace\AntPractice\build.xml
Initialize:
[delete] Deleting directory G:\eclipse installation dir\shiva eclipse workspace\AntPractice\bin
[mkdir] Created dir: G:\eclipse installation dir\shiva eclipse workspace\AntPractice\bin
[mkdir] Created dir: G:\eclipse installation dir\shiva eclipse workspace\AntPractice\bin\lib
compile:
[javac] Compiling 1 source file to G:\eclipse installation dir\shiva eclipse workspace\AntPractice\bin
BUILD FAILED
G:\eclipse installation dir\shiva eclipse workspace\AntPractice\build.xml:25: Class not found: org.eclipse.jdt.core.JDTCompilerAdapter
Total time: 922 milliseconds
please don't tell see in eclipse or other site
i am unable to find solution there
if needed i ll mail my small first AntProject ZIP file its just 2KB
thanx in advance
shiva_forums
@ yahoo
.co
.ukhi Mr.Anderson
Thank you very much for reply
it's working if i remove that line from build.xml Ant build file
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>but in eclipse documentation, books & forums also specified to write that line
what are the consequences for writing or removing that line.
any how once again Thank you very much for ur Answer
with regards
Shiva -
Hi experts,
We are tryign to configure the server via sap as java in nwds 7.3 , and im getting the error as shown , not able to add the server to my nwds .
Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
at com.sap.sapmc.preference.Activator$2.propertyChange(Activator.java:107)
at org.eclipse.ui.preferences.ScopedPreferenceStore$3.run(ScopedPreferenceStore.java:375)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.preferences.ScopedPreferenceStore.firePropertyChangeEvent(ScopedPreferenceStore.java:372)
at org.eclipse.ui.preferences.ScopedPreferenceStore.setValue(ScopedPreferenceStore.java:813)
at com.sap.sapmc.preference.PreferencePageStorage.store(PreferencePageStorage.java:241)
at com.sap.sapmc.preference.SAPSystemsPreferencePage.performOk(SAPSystemsPreferencePage.java:356)
at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:964)
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.preference.PreferenceDialog.okPressed(PreferenceDialog.java:944)
at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:453)
at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:169)
at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:233)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
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.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:211)
at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
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)
Regards
GovardanHi Govardan,
does this help to you?
See the topmost entry at
NWDS Troubleshooting - Java Development - SCN Wiki
Regards,
Ervin -
Hi
I got a above the error When start the debugging in my NWDS.
Source locator does not exist: org.eclipse.jdt.debug.ui.javaSourcelocator
Solutions is Reinstalling the NWDS , that option is not a good solution(choose any another options)
Please any advices... How to fix ?
Thanks
SriniHello,
I've solved it by deleting the .metadata/.registry file (https://bugs.eclipse.org/bugs/show_bug.cgi?id=40947)
Regards,
Ilya -
warning: Supported source version 'RELEASE_6' from annotation processor 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' less than -source '1.7'
Note: Creating static metadata factory ...
An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/persistence/PersistenceException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2570)
at java.lang.Class.getDeclaredField(Class.java:2055)
at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.findDeclaredField(PrivilegedAccessHelper.java:67)
at org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getField(PrivilegedAccessHelper.java:223)
at org.eclipse.persistence.internal.helper.Helper.getField(Helper.java:980)
at org.eclipse.persistence.internal.descriptors.InstanceVariableAttributeAccessor.initializeAttributes(InstanceVariableAttributeAccessor.java:100)
at org.eclipse.persistence.mappings.DatabaseMapping.preInitialize(DatabaseMapping.java:1455)
at org.eclipse.persistence.mappings.foundation.AbstractDirectMapping.preInitialize(AbstractDirectMapping.java:913)
at org.eclipse.persistence.oxm.mappings.XMLDirectMapping.preInitialize(XMLDirectMapping.java:439)
at org.eclipse.persistence.oxm.XMLDescriptor.preInitialize(XMLDescriptor.java:559)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:649)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:632)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:568)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:799)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:756)
at org.eclipse.persistence.oxm.XMLContext$XMLContextState.setupSession(XMLContext.java:738)
at org.eclipse.persistence.oxm.XMLContext$XMLContextState.setupSession(XMLContext.java:1)
at org.eclipse.persistence.internal.oxm.Context$ContextState.<init>(Context.java:86)
at org.eclipse.persistence.oxm.XMLContext$XMLContextState.<init>(XMLContext.java:702)
at org.eclipse.persistence.oxm.XMLContext.<init>(XMLContext.java:192)
at org.eclipse.persistence.oxm.XMLContext.<init>(XMLContext.java:164)
at org.eclipse.persistence.oxm.XMLContext.<init>(XMLContext.java:154)
at org.eclipse.persistence.internal.jpa.modelgen.objects.PersistenceXMLMappings.createXMLContext(PersistenceXMLMappings.java:139)
at org.eclipse.persistence.internal.jpa.modelgen.objects.PersistenceXMLMappings.createXML2_1Context(PersistenceXMLMappings.java:123)
at org.eclipse.persistence.internal.jpa.modelgen.objects.PersistenceUnitReader.initPersistenceUnits(PersistenceUnitReader.java:178)
at org.eclipse.persistence.internal.jpa.modelgen.objects.PersistenceUnitReader.<init>(PersistenceUnitReader.java:72)
at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:376)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1173)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:859)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.main.Main.compile(Main.java:381)..................
I'm an undergraduate student in software engineering. I worked with EE and tried to built a EJB Application. It worked. But when i connected it to database using persistence it getting error as mentioned.
When i change my source Binary Format to jdk6 it runs without errors. What can i do for this without downgrading jdk version?I resolved my problem. The issue was the version of EclipseLink that I had specified in my pom.xml. Version 2.0.1 has an issue with the meta-model generation and, in fact, I wanted to be using version 2.1.1. Once I changed to 2.1.1 everything compiled correctly.
Just make certain that you include the correct EclipseLink repository.
<repository>
<id>EclipseLink Repo</id>
<name>EclipseLink Repository for the JPA implementation</name>
<url>http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo</url>
</repository> -
JPA Error "No Persistence provider for EntityManager",using org.eclipse.per
Hello Colleagues,
I have created JPA project, with out any error have done mapping also. with orm.xml and persistense .xml
I am getting No Persistence provider for EntityManager error when calling Entity Manager in Entity class
Error >>> EntityManagerFactory emf = Persistence.createEntityManagerFactory("Personalization_JPA");
{ No Persistence provider for EntityManager named Personalization_JPA }
Persistence Provider as "org.eclipse.persistence.jpa.PersistenceProvider
In persistence.xml for my JPA project , I have included following in respective tabs
1) GENERAL Tab of Persistence.xml
a) Persistence Provider as "org.eclipse.persistence.jpa.PersistenceProvider"
b) In Managed classes included my Entity class and test application that calls the entity manager
c) orm.xml in xml mapping files
2) Connections Tab of Persistence.xml
a) Transaction Type as Resource Local, not using any JTA datasourse name in database field
3) Properties Tab of Persistence.xml
property name="driver" value="com.sap.dbtech.jdbc.DriverSapDB"
property name="url" value="jdbc:sapdb://localhost/w15"
property name="username" value="SAPW15DB"
property name="password" value="sapsapr3"
If anything wrong is specified please kindly inform me.Hello colleague,
As per your suggestion I removed Persistence Provider as "org.eclipse.persistence.jpa.PersistenceProvider", made it blank in persistence.xml, but still I get the same error saying No Persistence provider for EntityManager, please have a look at other attributes of persistence.xml
In persistence.xml for my JPA project , I have included following in respective tabs
1) GENERAL Tab of Persistence.xml
a) Persistence Provider as blank or "org.eclipse.persistence.jpa.PersistenceProvider" makes no difference
b) In Managed classes included my Entity class and test application that calls the entity manager
c) orm.xml in xml mapping files
2) Connections Tab of Persistence.xml
a) Transaction Type as Resource Local, not using any JTA datasourse name in database field
3) Properties Tab of Persistence.xml (connecting to maxdb, so is this necessary or not )
property name="driver" value="com.sap.dbtech.jdbc.DriverSapDB"
property name="url" value="jdbc:sapdb://localhost/w15"
property name="username" value="SAPW15DB"
property name="password" value="sapsapr3"
If anything wrong is specified please kindly inform me. -
IDE 2.07 cannot restart.
Suddenly I cannot restart my developer studio 2.07. The .log file in .metadata directory shows:
!SESSION Sep 14, 2004 05:48:05.972 -
java.version=1.4.2_04-er
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86 -feature com.sap.java.ide -data C:\Documents and Settings\All Users\Documents\SAP\WorkSpace -install file:C:/Program Files/SAP/JDT/eclipse/
!ENTRY org.eclipse.core.runtime 4 2 Sep 14, 2004 05:48:05.992
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.runtime".
!STACK 0
My J2ee engine & WebDynpro admin & sdm work.
What is the best solution to fix this problem without having to reload netweaver?Hello Peter,
you should try to find more information about the error. In Error Message: Unable to restore Web Dynpro Explorer I already described how to find more information about DevStudio errors.
As you already are aware of the .log file, only the described third way (-consolelog) might help.
Good luck + Kind Regards, Frank -
Import org.eclipse.persistence.sessions.Project ?
Hello,
I have a legacy mapping file that is a Java file and its class extends org.eclipse.persistence.sessions.Project.
This file maintains the toplink mapping and is the only toplink configuration of the project. During its inception, the webgain workbench was used to create the file. Later, it was totally hand maintained.
Now, we would like to bring this to be managed in the JDeveloper Toplink workbench.
Could you please tell if this is possible.
Thanks,
RajUsername and password supplied in the persistence.xml file should be for the Database configured user. This user is not an OS user.
--Gordon -
Error : An error occurred while automatically activating bundle org.eclipse
Hi,
OpenScript closed with unsaved changes and now I cannot get it to open again. I checked out the logs it was giving the below error.
!ENTRY org.eclipse.core.resources 2 10035 2013-03-28 10:05:18.046
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.osgi 4 0 2013-03-28 10:05:18.062
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (326).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
I do not mind losing the file with the unsaved changes. Please let me know if anyone has faced a similar problem and the solution for the same.
Thanks!Hi,
OpenScript closed with unsaved changes and now I cannot get it to open again. I checked out the logs it was giving the below error.
!ENTRY org.eclipse.core.resources 2 10035 2013-03-28 10:05:18.046
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.osgi 4 0 2013-03-28 10:05:18.062
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (326).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
I do not mind losing the file with the unsaved changes. Please let me know if anyone has faced a similar problem and the solution for the same.
Thanks! -
Org.eclipse.jdt.launching.localJavaApplication Error
I was developing nicely on Web Sphere Studio Developer Version=5.1.0
(with eclipse Release 2.1.1) but I just started getting the error "No
Tab group defined for launch application type/n
org.eclipse.jdt.launching.localJavaApplication" when trying to run or
debug. I was trying to parse&validate an XML file and getting a log of
the Parsing errors.This might have done something. However, it was
working before..Any ideas before deleting and reloading Eclipse?
Cigdem Savaseri-BrackmannHi Stephan,
thank you for your fast answer, I have started with --debug and noticed the following message:
Resolving dependencies of MavenProject: de.openknowledge.migrationtool:de.openknowledge.migrationtool:1.0.0-SNAPSHOT @ /Users/OleyMa/vcs/sourcemigration/de.openknowledge.migrationtool/pom.xml
[DEBUG] No solution found because the problem is unsatisfiable.: [Unable to satisfy dependency from de.openknowledge.migrationtool 1.0.0.qualifier to bundle org.eclipse.jdt.launching.macosx 0.0.0.; Unable to satisfy dependency from org.eclipse.jdt.core 3.11.0.v_OTDT_r240_201506091717 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).; No solution found because the problem is unsatisfiable.]
[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86_64}
[ERROR] Cannot resolve project dependencies:
Is the dependency to org.eclipse.objectteams.otdt.core.path.feature.group
the problem? This is a feature which I do not know at all.
Can you please give me a hint?
Thanks in advance
Markus
Maybe you are looking for
-
None of the other threads on this topic were able to fix my issue. This wasn't happening until a few days ago when it notified me that I couldn't view a video because safety mode was apparently enabled, so I scrolled down and clicked 'off' (about 50
-
Audit/Log GPO changes and Logging of new addition of Domain Controllers in the Event Log
Hi all, We am trying to log the following items in the event log for Windows 2012. This applies to a domain controller. 1) Audit any changes made to the Group Policy 2) Log the addition of new domain controllers added to the system. We need the win
-
Problem with Collaborator Workbench
Hi everyone, i have a problem with Demantra's Collaborator Workbench, after I'm creating a new data model. When I try to log in to collaborator to see my new levels that I've created, i am welcomed with the login error " Invalid user name or password
-
SAP DMS and Content server installation.
Hi, I am new in DMS. i have done configuration of DMS . now i want to store document on Content server. so how to install content server on windows server 2003. How to connect DMS and content sever? How to access document ? please help. Thanks, Dipak
-
Where are the iWeb file(s?) saved?
Hi, When I'm working on a site and then press cmd+S (File>Save), where are the iWeb file(s?) saved? I'm looking for those files which I need to backup in case my harddisk would crash some day... Thanks!