Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] javax.persistence class cannot be resolved - It is indirectly referenced from required .class files

Igor,

I had some more time to look at this today. Can you answer a quick question for me?

If bundle A depends on bundle B and bundle C depends on A, shouldn't Tycho include bundle B in the class path in addition to bundle A when it is building bundle C?

I have the case above with JPA (EclipseLink) and I ran the build with the -X flag. The transitive dependency described above is not satisfied.

Jay

On Sat, Jun 2, 2012 at 10:10 AM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:
Igor,

Changing the repository and running mvn clean seems to fix the problem with the JPA annotations, but now it produces the second error I reported when it tries to run the tests (see below). These tests run fine in Eclipse.

Any thoughts? I've confirmed that this happens with both 0.14 and 0.15. It doesn't say what class it is trying to launch or anything - it just fails as soon as it tries to launch the tests.

Jay


!ENTRY org.eclipse.osgi 4 0 2012-06-02 10:06:28.190
!MESSAGE Application error
!STACK 1
org.apache.maven.surefire.util.SurefireReflectionException: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
        at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
        at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:123)
        at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:84)
        at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.run(HeadlessTestApplication.java:21)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
        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:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.NullPointerException
        at java.lang.Class.getAnnotation(Class.java:3048)
        at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.isValidJUnit4Test(JUnit4TestChecker.java:63)
        at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:52)
        at org.apache.maven.surefire.util.DefaultDirectoryScanner.locateTestClasses(DefaultDirectoryScanner.java:80)
        at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:174)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:83)
        ... 28 more



On Fri, Jun 1, 2012 at 8:09 PM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:
Thanks Igor. I will let you know what I find and if I get a chance I will make a smaller example program.

Jay


On Fri, Jun 1, 2012 at 7:57 PM, Igor Fedorenko <igor@xxxxxxxxxxxxxx> wrote:
I don't have the time to investigate problems with source tree this big,
but your target platform configuration does not look right. I do not
believe Tycho supports target file with location type="Directory", only
type="InstallableUnit" is supported. From what I can tell, the build
should fail with dependency resolution errors unless you have installed
required dependencies to your local repository. Try running the build
with -Dmaven.repo.local=<some-empty-dir> and see what happens.

--
Regards,
Igor




On 12-06-01 6:19 PM, Jay Jay Billings wrote:
Igor,

I do not have examples of this happening that are independent of my code
base, but my code is relatively small and completely open-source. Is
that sufficient for a standalone example?

Access and build instructions:
http://sourceforge.net/apps/mediawiki/niceproject/index.php?title=Getting_NiCE#Regular_Command_Line_SVN_Access
Repo: https://niceproject.svn.sourceforge.net/svnroot/niceproject/trunk

The current build has each plugin importing javax.persistence in their
MANIFEST.mf files, which would have to be removed from at least one of
the bundles to produce "[ERROR] The type javax.persistence.CascadeType
cannot be resolved. It is indirectly referenced from required .class files."

If you need something smaller, I can try to put it together for you over
the weekend.

One point that may be important: we are using EclipseLink
(org.eclipse.persistence).

Thanks!

Jay

On Fri, Jun 1, 2012 at 5:50 PM, Igor Fedorenko <igor@xxxxxxxxxxxxxx
<mailto:igor@xxxxxxxxxxxxxx>> wrote:

   Are you able to provide complete standalone example that demonstrates
   the problem?

   --
   Regards,
   Igor


   On 12-06-01 5:00 PM, Jay Jay Billings wrote:

       Everyone,

       I get the error below when trying to use EclipseLink in an RCP
       application with Tycho 0.14 -OR- Tycho 0.13. It is resolved by
       adding
       javax.persistence to the imported package list of all of my bundles,
       even those that do not explicitly use it.

       I think this is a regression of this bug:

       http://dev.eclipse.org/__mhonarc/lists/tycho-user/__msg00030.html <http://dev.eclipse.org/mhonarc/lists/tycho-user/msg00030.html>


       The DataComponent class mentioned below is annotated with JPA
       annotations and it is class that is used by almost all of the other
       bundles. I would expect the dependency to be resolved transitively.

       Is there a way to fix this in Tycho?

       Jay

       -----

       [ERROR] Failed to execute goal
       org.eclipse.tycho:tycho-__compiler-plugin:0.14.0:compile

       (default-compile)
       on project gov.ornl.nice.niceclient: Compilation failure:
       Compilation
       failure:
       [ERROR]
       /home/bkj/research/NiCE/__NiCEWorkspace/gov.ornl.nice.__niceclient/src/gov/ornl/nice/__niceclient/iniceclient/__uiwidgets/IExtraInfoWidget.__java:[1,0]
       [ERROR] package gov.ornl.nice.niceclient.__iniceclient.uiwidgets;

       [ERROR] ^
       [ERROR] The type javax.persistence.CascadeType cannot be
       resolved. It is
       indirectly referenced from required .class files
       [ERROR]
       /home/bkj/research/NiCE/__NiCEWorkspace/gov.ornl.nice.__niceclient/src/gov/ornl/nice/__niceclient/iniceclient/__uiwidgets/IExtraInfoWidget.__java:[1,0]
       [ERROR] package gov.ornl.nice.niceclient.__iniceclient.uiwidgets;

       [ERROR] ^
       [ERROR] The type javax.persistence.FetchType cannot be resolved.
       It is
       indirectly referenced from required .class files
       [ERROR]
       /home/bkj/research/NiCE/__NiCEWorkspace/gov.ornl.nice.__niceclient/src/gov/ornl/nice/__niceclient/eclipseuiwidgets/__NiCEDataComponentSectionPart.__java:[92,0]
       [ERROR] System.out.println("__DataComponent " +

       dataComp.getName() + ":");
       [ERROR] ^^^^^^^^^^^^^^^^^^
       [ERROR] The type javax.persistence.__GenerationType cannot be

       resolved. It
       is indirectly referenced from required .class files
       [ERROR]
       /home/bkj/research/NiCE/__NiCEWorkspace/gov.ornl.nice.__niceclient/src/gov/ornl/nice/__niceclient/eclipseuiwidgets/__NiCEDataComponentSectionPart.__java:[92,0]
       [ERROR] System.out.println("__DataComponent " +

       dataComp.getName() + ":");
       [ERROR] ^^^^^^^^^^^^^^^^^^
       [ERROR] The type javax.persistence.__InheritanceType cannot be

       resolved.
       It is indirectly referenced from required .class files
       [ERROR] 4 problems (4 errors)
       [ERROR] -> [Help 1]


       _________________________________________________
       tycho-user mailing list
       tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
       https://dev.eclipse.org/__mailman/listinfo/tycho-user
       <https://dev.eclipse.org/mailman/listinfo/tycho-user>

   _________________________________________________
   tycho-user mailing list
   tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
   https://dev.eclipse.org/__mailman/listinfo/tycho-user

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




_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user




Back to the top