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

C -> A -> B

OSGi dependencies are not transitive. C will not "see" any packages from
B, you need to add explicit Require-Bundle or Import-Package.

--
Regards,
Igor

On 12-06-04 2:44 PM, Jay Jay Billings wrote:
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 <mailto: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 <mailto: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 <mailto: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
                <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
                <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>
                <mailto: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>
                <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>
                <mailto:tycho-user@xxxxxxxxxxx
                <mailto:tycho-user@xxxxxxxxxxx>__>
                https://dev.eclipse.org/____mailman/listinfo/tycho-user
                <https://dev.eclipse.org/__mailman/listinfo/tycho-user>
                <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>
                <mailto:tycho-user@xxxxxxxxxxx
                <mailto:tycho-user@xxxxxxxxxxx>__>
                https://dev.eclipse.org/____mailman/listinfo/tycho-user
                <https://dev.eclipse.org/__mailman/listinfo/tycho-user>

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


Back to the top