Discussion:
Help debug classloader conflict loading plugin in standalone instance (not in launch config instance)?
(too old to reply)
David M. Karr
2016-04-20 19:12:26 UTC
Permalink
I'm working on an eclipse plugin codebase that uses Tycho to build
itself. The application requires several artifacts that aren't
available in a p2 repo. To resolve this, I created one plugin project
whose only purpose is to use the "copy-dependencies" goal from the
"maven-dependency-plugin" to specify the artifacts that are needed and
make them available in the "Bundle-ClassPath" property of the same
plugin. I then set other plugins that require these libraries to depend
on this plugin.

This had been working fine, although there was one point where I saw the
following error after installing the plugin from a local update site
constructed from the build:

java.lang.LinkageError: org/antlr/v4/runtime/TokenStream

After some fiddling, this went away, although I wasn't certain exactly
what I did to make it go away.

I'm aware of the fact that this indicates a conflict with loading a
class from multiple classloaders.

Today, this error came back.

Curiously, if I instead test this with an "Eclipse Application" run
configuration, loading all plugins in the workspace, I don't see the error.

I changed the command line of the Eclipse instance (not the one from the
launch configuration) to add "-verbose:class" to see where this is
loaded from. I extracted the following relevant lines from the output:
----------------------
[Loaded org.antlr.v4.runtime.TokenStream from
file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
[Loaded org.antlr.v4.runtime.TokenStream from
file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
java.lang.LinkageError: loader constraint violation: loader (instance of
org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously
initiated loading for a different type with name
"org/antlr/v4/runtime/TokenStream"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at
org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
com.google.common.collect.Collections2$FilteredCollection from
file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]

at
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
at
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
at
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
at
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
at
org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
at
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
at
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
-----------------

I could use some ideas or suggestions for troubleshooting and fixing this.
David M. Karr
2016-04-22 17:49:31 UTC
Permalink
On 04/20/2016 12:12 PM, David M. Karr wrote:
> I'm working on an eclipse plugin codebase that uses Tycho to build
> itself. The application requires several artifacts that aren't
> available in a p2 repo. To resolve this, I created one plugin project
> whose only purpose is to use the "copy-dependencies" goal from the
> "maven-dependency-plugin" to specify the artifacts that are needed and
> make them available in the "Bundle-ClassPath" property of the same
> plugin. I then set other plugins that require these libraries to
> depend on this plugin.
>
> This had been working fine, although there was one point where I saw
> the following error after installing the plugin from a local update
> site constructed from the build:
>
> java.lang.LinkageError: org/antlr/v4/runtime/TokenStream
>
> After some fiddling, this went away, although I wasn't certain exactly
> what I did to make it go away.
>
> I'm aware of the fact that this indicates a conflict with loading a
> class from multiple classloaders.
>
> Today, this error came back.
>
> Curiously, if I instead test this with an "Eclipse Application" run
> configuration, loading all plugins in the workspace, I don't see the
> error.
>
> I changed the command line of the Eclipse instance (not the one from
> the launch configuration) to add "-verbose:class" to see where this is
> loaded from. I extracted the following relevant lines from the output:
> ----------------------
> [Loaded org.antlr.v4.runtime.TokenStream from
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
> [Loaded org.antlr.v4.runtime.TokenStream from
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
> java.lang.LinkageError: loader constraint violation: loader (instance
> of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously
> initiated loading for a different type with name
> "org/antlr/v4/runtime/TokenStream"
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> at
> org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
> com.google.common.collect.Collections2$FilteredCollection from
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]
>
> at
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
> at
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
> at
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
> at
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
> at
> org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
> at
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
> -----------------
>
> I could use some ideas or suggestions for troubleshooting and fixing
> this.
If it matters, I'm adding more details in a SO posting, at
http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho
.
Timothy Vogel
2016-04-22 20:08:50 UTC
Permalink
David, What I do in a similar situation is get those artifacts into the target platform and then they are first class citizens and can be included in features and dependencies directly.
Create a new target with just the non-repo artifactsIf the artifacts are already OSGI enabled you can include directlyFor non-OSGI jars, you need to make them into a jar by following one of the tutorials on it (search on Lars Vogel's site).Make this new target activeCreate a feature that includes those artifactsExport the feature as a p2 site (Feature->Overview tab->Export Wizard->Options tab->Generate p2 repository)switch back to your project's target fileInclude the p2 site created in #3 as a local site in this target.Make the target active.You should now be able to find the non-repo artifacts like any other.
Hope This Helps,Timothy



> To: tycho-***@eclipse.org
> From: ***@gmail.com
> Date: Fri, 22 Apr 2016 10:49:31 -0700
> Subject: Re: [tycho-user] Help debug classloader conflict loading plugin in standalone instance (not in launch config instance)?
>
> On 04/20/2016 12:12 PM, David M. Karr wrote:
> > I'm working on an eclipse plugin codebase that uses Tycho to build
> > itself. The application requires several artifacts that aren't
> > available in a p2 repo. To resolve this, I created one plugin project
> > whose only purpose is to use the "copy-dependencies" goal from the
> > "maven-dependency-plugin" to specify the artifacts that are needed and
> > make them available in the "Bundle-ClassPath" property of the same
> > plugin. I then set other plugins that require these libraries to
> > depend on this plugin.
> >
> > This had been working fine, although there was one point where I saw
> > the following error after installing the plugin from a local update
> > site constructed from the build:
> >
> > java.lang.LinkageError: org/antlr/v4/runtime/TokenStream
> >
> > After some fiddling, this went away, although I wasn't certain exactly
> > what I did to make it go away.
> >
> > I'm aware of the fact that this indicates a conflict with loading a
> > class from multiple classloaders.
> >
> > Today, this error came back.
> >
> > Curiously, if I instead test this with an "Eclipse Application" run
> > configuration, loading all plugins in the workspace, I don't see the
> > error.
> >
> > I changed the command line of the Eclipse instance (not the one from
> > the launch configuration) to add "-verbose:class" to see where this is
> > loaded from. I extracted the following relevant lines from the output:
> > ----------------------
> > [Loaded org.antlr.v4.runtime.TokenStream from
> > file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
> > [Loaded org.antlr.v4.runtime.TokenStream from
> > file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
> > java.lang.LinkageError: loader constraint violation: loader (instance
> > of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously
> > initiated loading for a different type with name
> > "org/antlr/v4/runtime/TokenStream"
> > at java.lang.ClassLoader.defineClass1(Native Method)
> > at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> > at
> > org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
> > com.google.common.collect.Collections2$FilteredCollection from
> > file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]
> >
> > at
> > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
> > at
> > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
> > at
> > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
> > at
> > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
> > at
> > org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
> > at
> > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
> > at
> > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
> > at
> > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
> > at
> > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
> > at
> > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> > at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
> > -----------------
> >
> > I could use some ideas or suggestions for troubleshooting and fixing
> > this.
> If it matters, I'm adding more details in a SO posting, at
> http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho
> .
> _______________________________________________
> tycho-user mailing list
> tycho-***@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/tycho-user
Jonah Graham
2016-04-22 20:18:09 UTC
Permalink
Hi David,

For Timothy's step 1 you might also want to look at eclipse orbit and how
it works. In addition to examining the build process it uses to create
bundles, it also has antlr (among many others) ready for consuming.

http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/

In case you are wondering, the bundles and versions in orbit are ip clean
jars approved for use on other eclipse projects.

Jonah

On Friday, 22 April 2016, Timothy Vogel <***@msn.com> wrote:

> David,
> What I do in a similar situation is get those artifacts into the target
> platform and then they are first class citizens and can be included in
> features and dependencies directly.
>
>
> 1. Create a new target with just the non-repo artifacts
> 1. If the artifacts are already OSGI enabled you can include
> directly
> 2. For non-OSGI jars, you need to make them into a jar by following
> one of the tutorials on it (search on Lars Vogel's site).
> 2. Make this new target active
> 3. Create a feature that includes those artifacts
> 4. Export the feature as a p2 site (Feature->Overview tab->Export
> Wizard->Options tab->Generate p2 repository)
> 5. switch back to your project's target file
> 6. Include the p2 site created in #3 as a local site in this target.
> 7. Make the target active.
> 8. You should now be able to find the non-repo artifacts like any
> other.
>
>
> Hope This Helps,
> Timothy
>
>
>
>
> > To: tycho-***@eclipse.org
> <javascript:_e(%7B%7D,'cvml','tycho-***@eclipse.org');>
> > From: ***@gmail.com
> <javascript:_e(%7B%7D,'cvml','***@gmail.com');>
> > Date: Fri, 22 Apr 2016 10:49:31 -0700
> > Subject: Re: [tycho-user] Help debug classloader conflict loading plugin
> in standalone instance (not in launch config instance)?
> >
> > On 04/20/2016 12:12 PM, David M. Karr wrote:
> > > I'm working on an eclipse plugin codebase that uses Tycho to build
> > > itself. The application requires several artifacts that aren't
> > > available in a p2 repo. To resolve this, I created one plugin project
> > > whose only purpose is to use the "copy-dependencies" goal from the
> > > "maven-dependency-plugin" to specify the artifacts that are needed and
> > > make them available in the "Bundle-ClassPath" property of the same
> > > plugin. I then set other plugins that require these libraries to
> > > depend on this plugin.
> > >
> > > This had been working fine, although there was one point where I saw
> > > the following error after installing the plugin from a local update
> > > site constructed from the build:
> > >
> > > java.lang.LinkageError: org/antlr/v4/runtime/TokenStream
> > >
> > > After some fiddling, this went away, although I wasn't certain exactly
> > > what I did to make it go away.
> > >
> > > I'm aware of the fact that this indicates a conflict with loading a
> > > class from multiple classloaders.
> > >
> > > Today, this error came back.
> > >
> > > Curiously, if I instead test this with an "Eclipse Application" run
> > > configuration, loading all plugins in the workspace, I don't see the
> > > error.
> > >
> > > I changed the command line of the Eclipse instance (not the one from
> > > the launch configuration) to add "-verbose:class" to see where this is
> > > loaded from. I extracted the following relevant lines from the output:
> > > ----------------------
> > > [Loaded org.antlr.v4.runtime.TokenStream from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
> > > [Loaded org.antlr.v4.runtime.TokenStream from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
> > > java.lang.LinkageError: loader constraint violation: loader (instance
> > > of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously
> > > initiated loading for a different type with name
> > > "org/antlr/v4/runtime/TokenStream"
> > > at java.lang.ClassLoader.defineClass1(Native Method)
> > > at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
>
> > > com.google.common.collect.Collections2$FilteredCollection from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]
> > >
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> > > at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
> > > -----------------
> > >
> > > I could use some ideas or suggestions for troubleshooting and fixing
> > > this.
> > If it matters, I'm adding more details in a SO posting, at
> >
> http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho
> > .
> > _______________________________________________
> > tycho-user mailing list
> > tycho-***@eclipse.org
> <javascript:_e(%7B%7D,'cvml','tycho-***@eclipse.org');>
> > To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> > https://dev.eclipse.org/mailman/listinfo/tycho-user
>


--
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com
David M. Karr
2016-04-22 20:39:01 UTC
Permalink
On 04/22/2016 01:18 PM, Jonah Graham wrote:
> Hi David,
>
> For Timothy's step 1 you might also want to look at eclipse orbit and
> how it works. In addition to examining the build process it uses to
> create bundles, it also has antlr (among many others) ready for consuming.
>
> http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/
>
> In case you are wondering, the bundles and versions in orbit are ip
> clean jars approved for use on other eclipse projects.

Yeah, I investigated that. The newest Antlr jar in Orbit is 4.3.0, and
my project requires something newer than that. I was using 4.5.1, and a
class my app is using isn't available in 4.3.0. I just posted a note on
the Orbit forum asking whether it's possible to request a newer version
being available.

Even if I could find 4.5.1 on Orbit or some other p2 repo, I really have
no idea whether the way I'm getting the Antlr jar has anything to do
with my problem.
>
> Jonah
>
> On Friday, 22 April 2016, Timothy Vogel <***@msn.com
> <mailto:***@msn.com>> wrote:
>
> David,
> What I do in a similar situation is get those artifacts into the
> target platform and then they are first class citizens and can be
> included in features and dependencies directly.
>
> 1. Create a new target with just the non-repo artifacts
> 1. If the artifacts are already OSGI enabled you can include
> directly
> 2. For non-OSGI jars, you need to make them into a jar by
> following one of the tutorials on it (search on Lars
> Vogel's site).
> 2. Make this new target active
> 3. Create a feature that includes those artifacts
> 4. Export the feature as a p2 site (Feature->Overview tab->Export
> Wizard->Options tab->Generate p2 repository)
> 5. switch back to your project's target file
> 6. Include the p2 site created in #3 as a local site in this target.
> 7. Make the target active.
> 8. You should now be able to find the non-repo artifacts like any
> other.
>
>
> Hope This Helps,
> Timothy
>
>
>
>
> > To: tycho-***@eclipse.org
> <javascript:_e(%7B%7D,'cvml','tycho-***@eclipse.org');>
> > From: ***@gmail.com
> <javascript:_e(%7B%7D,'cvml','***@gmail.com');>
> > Date: Fri, 22 Apr 2016 10:49:31 -0700
> > Subject: Re: [tycho-user] Help debug classloader conflict
> loading plugin in standalone instance (not in launch config instance)?
> >
> > On 04/20/2016 12:12 PM, David M. Karr wrote:
> > > I'm working on an eclipse plugin codebase that uses Tycho to
> build
> > > itself. The application requires several artifacts that aren't
> > > available in a p2 repo. To resolve this, I created one plugin
> project
> > > whose only purpose is to use the "copy-dependencies" goal from
> the
> > > "maven-dependency-plugin" to specify the artifacts that are
> needed and
> > > make them available in the "Bundle-ClassPath" property of the
> same
> > > plugin. I then set other plugins that require these libraries to
> > > depend on this plugin.
> > >
> > > This had been working fine, although there was one point where
> I saw
> > > the following error after installing the plugin from a local
> update
> > > site constructed from the build:
> > >
> > > java.lang.LinkageError: org/antlr/v4/runtime/TokenStream
> > >
> > > After some fiddling, this went away, although I wasn't certain
> exactly
> > > what I did to make it go away.
> > >
> > > I'm aware of the fact that this indicates a conflict with
> loading a
> > > class from multiple classloaders.
> > >
> > > Today, this error came back.
> > >
> > > Curiously, if I instead test this with an "Eclipse
> Application" run
> > > configuration, loading all plugins in the workspace, I don't
> see the
> > > error.
> > >
> > > I changed the command line of the Eclipse instance (not the
> one from
> > > the launch configuration) to add "-verbose:class" to see where
> this is
> > > loaded from. I extracted the following relevant lines from the
> output:
> > > ----------------------
> > > [Loaded org.antlr.v4.runtime.TokenStream from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
> > > [Loaded org.antlr.v4.runtime.TokenStream from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
> > > java.lang.LinkageError: loader constraint violation: loader
> (instance
> > > of org/eclipse/osgi/internal/loader/EquinoxClassLoader)
> previously
> > > initiated loading for a different type with name
> > > "org/antlr/v4/runtime/TokenStream"
> > > at java.lang.ClassLoader.defineClass1(Native Method)
> > > at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
>
> > > com.google.common.collect.Collections2$FilteredCollection from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]
> > >
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> > > at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
> > > -----------------
> > >
> > > I could use some ideas or suggestions for troubleshooting and
> fixing
> > > this.
> > If it matters, I'm adding more details in a SO posting, at
> >
> http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho
>
> > .
> > _______________________________________________
> > tycho-user mailing list
> > tycho-***@eclipse.org
> <javascript:_e(%7B%7D,'cvml','tycho-***@eclipse.org');>
> > To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> > https://dev.eclipse.org/mailman/listinfo/tycho-user
>
>
>
> --
> ~~~
> Jonah Graham
> Kichwa Coders Ltd.
> www.kichwacoders.com <http://www.kichwacoders.com>
>
>
>
> _______________________________________________
> tycho-user mailing list
> tycho-***@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/tycho-user
Jonah Graham
2016-04-23 11:44:19 UTC
Permalink
Hi David,

I was primarily recommending looking at how orbit does the build so
you could replicate.

As for 4.5.1, the runtime is in orbit, just not released yet.
https://git.eclipse.org/c/orbit/orbit-recipes.git/tree/antlr/org.antlr.runtime_4.5.1

In the meantime, you can get the repo from
https://hudson.eclipse.org/orbit/job/orbit-recipes/lastSuccessfulBuild/artifact/releng/repository/target/repository/plugins/

Note that it is a little lucky that the version of a thirdparty jar is
available in Orbit. Orbit exists to supply Eclipse projects with
third-party jars. As each third party dependency re-published by
Eclipse has to be IP reviewed, you will only find jars that have gone
through that process because an Eclipse project needs them.

Jonah
~~~
Jonah Graham
Kichwa Coders Ltd.
www.kichwacoders.com


On 22 April 2016 at 21:39, David M. Karr <***@gmail.com> wrote:
> On 04/22/2016 01:18 PM, Jonah Graham wrote:
>
> Hi David,
>
> For Timothy's step 1 you might also want to look at eclipse orbit and how it
> works. In addition to examining the build process it uses to create bundles,
> it also has antlr (among many others) ready for consuming.
>
> http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/
>
> In case you are wondering, the bundles and versions in orbit are ip clean
> jars approved for use on other eclipse projects.
>
>
> Yeah, I investigated that. The newest Antlr jar in Orbit is 4.3.0, and my
> project requires something newer than that. I was using 4.5.1, and a class
> my app is using isn't available in 4.3.0. I just posted a note on the Orbit
> forum asking whether it's possible to request a newer version being
> available.
>
> Even if I could find 4.5.1 on Orbit or some other p2 repo, I really have no
> idea whether the way I'm getting the Antlr jar has anything to do with my
> problem.
>
>
> Jonah
>
> On Friday, 22 April 2016, Timothy Vogel <***@msn.com> wrote:
>>
>> David,
>> What I do in a similar situation is get those artifacts into the target
>> platform and then they are first class citizens and can be included in
>> features and dependencies directly.
>>
>> Create a new target with just the non-repo artifacts
>>
>> If the artifacts are already OSGI enabled you can include directly
>> For non-OSGI jars, you need to make them into a jar by following one of
>> the tutorials on it (search on Lars Vogel's site).
>>
>> Make this new target active
>> Create a feature that includes those artifacts
>> Export the feature as a p2 site (Feature->Overview tab->Export
>> Wizard->Options tab->Generate p2 repository)
>> switch back to your project's target file
>> Include the p2 site created in #3 as a local site in this target.
>> Make the target active.
>> You should now be able to find the non-repo artifacts like any other.
>>
>>
>> Hope This Helps,
>> Timothy
>>
>>
>>
>>
>> > To: tycho-***@eclipse.org
>> > From: ***@gmail.com
>> > Date: Fri, 22 Apr 2016 10:49:31 -0700
>> > Subject: Re: [tycho-user] Help debug classloader conflict loading plugin
>> > in standalone instance (not in launch config instance)?
>> >
>> > On 04/20/2016 12:12 PM, David M. Karr wrote:
>> > > I'm working on an eclipse plugin codebase that uses Tycho to build
>> > > itself. The application requires several artifacts that aren't
>> > > available in a p2 repo. To resolve this, I created one plugin project
>> > > whose only purpose is to use the "copy-dependencies" goal from the
>> > > "maven-dependency-plugin" to specify the artifacts that are needed and
>> > > make them available in the "Bundle-ClassPath" property of the same
>> > > plugin. I then set other plugins that require these libraries to
>> > > depend on this plugin.
>> > >
>> > > This had been working fine, although there was one point where I saw
>> > > the following error after installing the plugin from a local update
>> > > site constructed from the build:
>> > >
>> > > java.lang.LinkageError: org/antlr/v4/runtime/TokenStream
>> > >
>> > > After some fiddling, this went away, although I wasn't certain exactly
>> > > what I did to make it go away.
>> > >
>> > > I'm aware of the fact that this indicates a conflict with loading a
>> > > class from multiple classloaders.
>> > >
>> > > Today, this error came back.
>> > >
>> > > Curiously, if I instead test this with an "Eclipse Application" run
>> > > configuration, loading all plugins in the workspace, I don't see the
>> > > error.
>> > >
>> > > I changed the command line of the Eclipse instance (not the one from
>> > > the launch configuration) to add "-verbose:class" to see where this is
>> > > loaded from. I extracted the following relevant lines from the output:
>> > > ----------------------
>> > > [Loaded org.antlr.v4.runtime.TokenStream from
>> > >
>> > > file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
>> > > [Loaded org.antlr.v4.runtime.TokenStream from
>> > >
>> > > file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
>> > > java.lang.LinkageError: loader constraint violation: loader (instance
>> > > of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously
>> > > initiated loading for a different type with name
>> > > "org/antlr/v4/runtime/TokenStream"
>> > > at java.lang.ClassLoader.defineClass1(Native Method)
>> > > at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
>> > > com.google.common.collect.Collections2$FilteredCollection from
>> > >
>> > > file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]
>> > >
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
>> > > at
>> > >
>> > > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
>> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> > > at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
>> > > -----------------
>> > >
>> > > I could use some ideas or suggestions for troubleshooting and fixing
>> > > this.
>> > If it matters, I'm adding more details in a SO posting, at
>> >
>> > http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho
>> > .
>> > _______________________________________________
>> > tycho-user mailing list
>> > tycho-***@eclipse.org
>> > To change your delivery options, retrieve your password, or unsubscribe
>> > from this list, visit
>> > https://dev.eclipse.org/mailman/listinfo/tycho-user
>
>
>
> --
> ~~~
> Jonah Graham
> Kichwa Coders Ltd.
> www.kichwacoders.com
>
>
>
> _______________________________________________
> tycho-user mailing list
> tycho-***@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/tycho-user
>
>
>
> _______________________________________________
> tycho-user mailing list
> tycho-***@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/tycho-user
David M. Karr
2016-04-22 20:34:14 UTC
Permalink
On 04/22/2016 01:08 PM, Timothy Vogel wrote:
> David,
> What I do in a similar situation is get those artifacts into the
> target platform and then they are first class citizens and can be
> included in features and dependencies directly.
>
> 1. Create a new target with just the non-repo artifacts
>
Where do I create this new target file? I currently have a project with
a "eclipse-target-definition" packaging type.

What exactly do you mean by "non-repo"? Do you mean these artifacts
that I'm getting from a Maven repo and not a p2 repo?

> 1. If the artifacts are already OSGI enabled you can include directly
> 2. For non-OSGI jars, you need to make them into a jar by
> following one of the tutorials on it (search on Lars Vogel's
> site).
> 1. Make this new target active
> 2. Create a feature that includes those artifacts
> 3. Export the feature as a p2 site (Feature->Overview tab->Export
> Wizard->Options tab->Generate p2 repository)
> 4. switch back to your project's target file
> 5. Include the p2 site created in #3 as a local site in this target.
> 6. Make the target active.
> 7. You should now be able to find the non-repo artifacts like any other.
>
>

Does this mean that I have to store that generated p2 site in my
project? This is a binary file, right? That is not conducive to an
automated build, and my project's policies forbid this anyway.

> Hope This Helps,
> Timothy
>
>
>
>
> > To: tycho-***@eclipse.org
> > From: ***@gmail.com
> > Date: Fri, 22 Apr 2016 10:49:31 -0700
> > Subject: Re: [tycho-user] Help debug classloader conflict loading
> plugin in standalone instance (not in launch config instance)?
> >
> > On 04/20/2016 12:12 PM, David M. Karr wrote:
> > > I'm working on an eclipse plugin codebase that uses Tycho to build
> > > itself. The application requires several artifacts that aren't
> > > available in a p2 repo. To resolve this, I created one plugin project
> > > whose only purpose is to use the "copy-dependencies" goal from the
> > > "maven-dependency-plugin" to specify the artifacts that are needed
> and
> > > make them available in the "Bundle-ClassPath" property of the same
> > > plugin. I then set other plugins that require these libraries to
> > > depend on this plugin.
> > >
> > > This had been working fine, although there was one point where I saw
> > > the following error after installing the plugin from a local update
> > > site constructed from the build:
> > >
> > > java.lang.LinkageError: org/antlr/v4/runtime/TokenStream
> > >
> > > After some fiddling, this went away, although I wasn't certain
> exactly
> > > what I did to make it go away.
> > >
> > > I'm aware of the fact that this indicates a conflict with loading a
> > > class from multiple classloaders.
> > >
> > > Today, this error came back.
> > >
> > > Curiously, if I instead test this with an "Eclipse Application" run
> > > configuration, loading all plugins in the workspace, I don't see the
> > > error.
> > >
> > > I changed the command line of the Eclipse instance (not the one from
> > > the launch configuration) to add "-verbose:class" to see where
> this is
> > > loaded from. I extracted the following relevant lines from the output:
> > > ----------------------
> > > [Loaded org.antlr.v4.runtime.TokenStream from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]
> > > [Loaded org.antlr.v4.runtime.TokenStream from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]
> > > java.lang.LinkageError: loader constraint violation: loader (instance
> > > of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously
> > > initiated loading for a different type with name
> > > "org/antlr/v4/runtime/TokenStream"
> > > at java.lang.ClassLoader.defineClass1(Native Method)
> > > at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded
>
> > > com.google.common.collect.Collections2$FilteredCollection from
> > >
> file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]
> > >
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
> > > at
> > >
> org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
> > > at
> > >
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
> > > at
> > >
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> > > at org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)
> > > -----------------
> > >
> > > I could use some ideas or suggestions for troubleshooting and fixing
> > > this.
> > If it matters, I'm adding more details in a SO posting, at
> >
> http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho
>
> > .
> > _______________________________________________
> > tycho-user mailing list
> > tycho-***@eclipse.org
> > To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> > https://dev.eclipse.org/mailman/listinfo/tycho-user
>
>
> _______________________________________________
> tycho-user mailing list
> tycho-***@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/tycho-user
Timothy Vogel
2016-04-23 11:34:08 UTC
Permalink
David,
Where do I create this new target file? I currently have a project with a "eclipse-target-definition" packaging type.
The target file is created in the Eclipse IDE and can be put in any project. I have a project specifically for targets.

What exactly do you mean by "non-repo"? Do you mean these artifacts that I'm getting from a Maven repo and not a p2 repo? Yes the artifacts that are not in a p2 repo.
Does this mean that I have to store that generated p2 site in my project? This is a binary file, right? That is not conducive to an automated build, and my project's policies forbid this anyway.
The p2 site is a combination of XML files that define the repo and the artifacts. The p2 site is created once, outside of any automated build, and becomes just another repo for your build. From my perspective it is no different than an Eclipse provided repo or a Maven one. It can be located on a shared server for group builds. Not sure what to say about your projects build policies.
Sorry I don't have a better answer ... maybe someone who develops Tycho can provide a different solution.
Timothy

To: tycho-***@eclipse.org
From: ***@gmail.com
Date: Fri, 22 Apr 2016 13:34:14 -0700
Subject: Re: [tycho-user] Help debug classloader conflict loading plugin in standalone instance (not in launch config instance)?










On 04/22/2016 01:08 PM, Timothy Vogel
wrote:




David,
What I do in a similar situation is get those artifacts
into the target platform and then they are first class
citizens and can be included in features and dependencies
directly.





Create a new target with
just the non-repo artifacts




Where do I create this new target file? I currently have a project
with a "eclipse-target-definition" packaging type.



What exactly do you mean by "non-repo"? Do you mean these artifacts
that I'm getting from a Maven repo and not a p2 repo?








If the artifacts are
already OSGI enabled you can include directly
For non-OSGI jars, you
need to make them into a jar by following one of the tutorials on it (search on Lars
Vogel's site).

Make this new target active
Create a feature that
includes those artifacts
Export the feature as a
p2 site (Feature->Overview tab->Export
Wizard->Options tab->Generate p2 repository)
switch back to your
project's target file
Include the p2 site
created in #3 as a local site in this target.
Make the target active.
You should now be able to
find the non-repo artifacts like any other.









Does this mean that I have to store that generated p2 site in my
project? This is a binary file, right? That is not conducive to an
automated build, and my project's policies forbid this anyway.





Hope This Helps,
Timothy










> To: tycho-***@eclipse.org

> From: ***@gmail.com

> Date: Fri, 22 Apr 2016 10:49:31 -0700

> Subject: Re: [tycho-user] Help debug classloader
conflict loading plugin in standalone instance (not in
launch config instance)?

>

> On 04/20/2016 12:12 PM, David M. Karr wrote:

> > I'm working on an eclipse plugin codebase that
uses Tycho to build

> > itself. The application requires several artifacts
that aren't

> > available in a p2 repo. To resolve this, I created
one plugin project

> > whose only purpose is to use the
"copy-dependencies" goal from the

> > "maven-dependency-plugin" to specify the artifacts
that are needed and

> > make them available in the "Bundle-ClassPath"
property of the same

> > plugin. I then set other plugins that require
these libraries to

> > depend on this plugin.

> >

> > This had been working fine, although there was one
point where I saw

> > the following error after installing the plugin
from a local update

> > site constructed from the build:

> >

> > java.lang.LinkageError:
org/antlr/v4/runtime/TokenStream

> >

> > After some fiddling, this went away, although I
wasn't certain exactly

> > what I did to make it go away.

> >

> > I'm aware of the fact that this indicates a
conflict with loading a

> > class from multiple classloaders.

> >

> > Today, this error came back.

> >

> > Curiously, if I instead test this with an "Eclipse
Application" run

> > configuration, loading all plugins in the
workspace, I don't see the

> > error.

> >

> > I changed the command line of the Eclipse instance
(not the one from

> > the launch configuration) to add "-verbose:class"
to see where this is

> > loaded from. I extracted the following relevant
lines from the output:

> > ----------------------

> > [Loaded org.antlr.v4.runtime.TokenStream from

> >
file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/net.sf.eclipsecs.checkstyle_6.16.0.201603042321/checkstyle-6.16.1-all.jar]

> > [Loaded org.antlr.v4.runtime.TokenStream from

> >
file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/configuration/org.eclipse.osgi/605/0/.cp/libs/antlr4-runtime-4.5.1.jar]

> > java.lang.LinkageError: loader constraint
violation: loader (instance

> > of
org/eclipse/osgi/internal/loader/EquinoxClassLoader)
previously

> > initiated loading for a different type with name

> > "org/antlr/v4/runtime/TokenStream"

> > at java.lang.ClassLoader.defineClass1(Native
Method)

> > at
java.lang.ClassLoader.defineClass(ClassLoader.java:760)

> > at

> >
org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)[Loaded


> >
com.google.common.collect.Collections2$FilteredCollection
from

> >
file:/home/opnfv/frameworks/eclipse-neon/java-mars/eclipse/../../../../.p2/pool/plugins/com.google.guava_15.0.0.v201403281430.jar]

> >

> > at

> >
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)

> > at

> >
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)

> > at

> >
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)

> > at

> >
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)

> > at

> >
org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)

> > at

> >
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)

> > at

> >
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)

> > at

> >
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)

> > at

> >
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)

> > at

> >
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)

> > at
java.lang.ClassLoader.loadClass(ClassLoader.java:357)

> > at
org.antlr.v4.runtime.Parser.setInputStream(Parser.java:530)

> > -----------------

> >

> > I could use some ideas or suggestions for
troubleshooting and fixing

> > this.

> If it matters, I'm adding more details in a SO posting,
at

>
http://stackoverflow.com/questions/36798891/loader-constraint-violation-loading-antlr-jar-in-eclipse-plugin-built-with-tycho


> .

> _______________________________________________

> tycho-user mailing list

> tycho-***@eclipse.org

> To change your delivery options, retrieve your
password, or unsubscribe from this list, visit

> https://dev.eclipse.org/mailman/listinfo/tycho-user









_______________________________________________
tycho-user mailing list
tycho-***@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Loading...