Hi everyone.

I rescue this thread because I have some issue running with Java 1.7

The problem exists since' ISIS-993: when normalize, bind actions to properties 
or field sets (if metadata not already specified as an annotation). (Commit id: 
e014bf80a823457bdbfc3acb5fac4b4a666715a1)'

As I can see, Consumer class is created in Java 1.8, so there is no way to 
compile Isis Code with 1.7.

This is the stack trace I get executing some test.

java.lang.NoClassDefFoundError: java/util/function/Consumer
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:191)
        at 
org.apache.isis.core.runtime.services.ServiceInstantiator.loadClass(ServiceInstantiator.java:117)
        at 
org.apache.isis.core.runtime.services.ServiceInstantiator.createInstance(ServiceInstantiator.java:104)
        at 
org.apache.isis.core.runtime.services.ServicesInstallerUtils.instantiateService(ServicesInstallerUtils.java:81)
        at 
org.apache.isis.core.runtime.services.ServicesInstallerUtils$1.apply(ServicesInstallerUtils.java:96)
        at 
org.apache.isis.core.runtime.services.ServicesInstallerUtils$1.apply(ServicesInstallerUtils.java:93)
        at com.google.common.collect.Iterators$8.transform(Iterators.java:817)
        at 
com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
        at com.google.common.collect.Iterators$7.computeNext(Iterators.java:674)
        at 
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
        at 
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
        at com.google.common.collect.Iterators.addAll(Iterators.java:364)
        at com.google.common.collect.Lists.newArrayList(Lists.java:162)
        at 
com.google.common.collect.Collections2$FilteredCollection.toArray(Collections2.java:215)
        at java.util.ArrayList.<init>(ArrayList.java:164)
        at com.google.common.collect.Lists.newArrayList(Lists.java:147)
        at 
org.apache.isis.core.runtime.services.ServicesInstallerUtils.instantiateServicesFrom(ServicesInstallerUtils.java:89)
        at 
org.apache.isis.core.runtime.services.ServicesInstallerFromConfigurationAndAnnotation.getServices(ServicesInstallerFromConfigurationAndAnnotation.java:98)
        at 
org.apache.isis.core.integtestsupport.IsisSystemForTest$Builder.withServicesIn(IsisSystemForTest.java:242)
        at 
com.xms.framework.testing.TestConfigurationHelper.configureTestBuilder(TestConfigurationHelper.java:71)
        at 
com.xms.framework.measurement.integration.MeasurementSystemInitializer$MeasurementIntegTestBuilder.<init>(MeasurementSystemInitializer.java:33)
        at 
com.xms.framework.measurement.integration.MeasurementSystemInitializer$MeasurementIntegTestBuilder.<init>(MeasurementSystemInitializer.java:31)
        at 
com.xms.framework.measurement.integration.MeasurementSystemInitializer.initIsft(MeasurementSystemInitializer.java:23)
        at 
com.xms.framework.measurement.integration.MeasurementIntegTestAbstract.initClass(MeasurementIntegTestAbstract.java:19)
        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:606)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: java.util.function.Consumer
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 40 more


Thanks so much for everything.


-----Original Message-----
From: Diego [mailto:longsto...@gmail.com] 
Sent: domingo, 28 de febrero de 2016 14:59
To: users@isis.apache.org
Subject: Re: Multiple build problems on simpleapp-archetype on Java 1.7

Hi guys,

thanks a lot.

@Kevin
Good suggestion I tried but I'm having hard luck installing two parallel JDK on 
my windows 10 box, as in [1] (still working on the suggested
solution) and besides I want to use 1.7 (hoping to introduce Isis on my company 
which is not on Java 8 by now). On the mailing list I saw that 1.7 support is 
planned till Java 9 is out (fortunately :)


@Dan

Yes, those small modifications allowed to build and run under my 1.7 jdk.
Isis looks fantastic (especially, but not only for, rapid prototyping) , I'm 
willing to explore a little bit more.

BTW, I ventured in the analysis of a possibile handling of that problem and 
found the Maven Animal Sniffer Plugin [2] , but couldn't make it intercept that 
specific problem (source and target on 1.7 should suffice...) Anyway it looks 
interesting (other than specific jdks)  for other APIs too by means of scanning 
signatures... Just a generic suggestion for Isis.
Maybe you might have a check. :)

Be aware that it's a Codehaus project, and Codehaus, per se, has shutdown code 
hosting services

Bye.

Diego


[1]
http://stackoverflow.com/questions/26324486/properly-installing-java-8-along-with-java-7
[2]
http://www.mojohaus.org/animal-sniffer/animal-sniffer-maven-plugin/index.html

On Sun, Feb 28, 2016 at 11:00 AM, Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> Hi Diego,
>
> OK, so I just tried this out, and you are right that there is a slight 
> issue trying to compile the code under JDK 1.7, but it's easy enough 
> to work around.
>
> basically, where you are getting the compile exceptions, change the 
> code to cast to the raw type, eg:
>
>
>     @Override
>     public List<Class<?>> getModules() {
>         return (List)Arrays.asList(
>                 ...
>         );
>     }
>
>
> I had to do this for DomainAppAppManifest, DomainAppDomManifest.
>
> Similarly
>
>     public List<Class<? extends FixtureScript>> getFixtures() {
>         return (List)Lists.newArrayList(RecreateSimpleObjects.class);
>     }
>
> in DomainAppAppManifestWithFixtures
>
>
> I also had the following changes to pom.xml (you mentioned some of these):
>
> - adjust maven-enforcer-plugin configuration:
>
>                             <requireJavaVersion>
>                                 <version>[1.7.0,)</version>
>                             </requireJavaVersion>
>
> - adjust maven-compiler-plugin configuration:
>
>                     <configuration>
>                         <source>1.7</source>
>                         <target>1.7</target>
>                         <!--
>                         <compilerArgument>-parameters</compilerArgument>
>             -->
>                     </configuration>
>
>
> HTH
> Dan
>
>
> On 27 February 2016 at 15:41, Diego <longsto...@gmail.com> wrote:
>
> > Hello everyone.
> >
> > I was trying to get acquainted with Apache Isis (which I find
> fascinating)
> > by means
> > of the tutorial pages using the simpleapp archetype.
> >
> > I'm having multiple issues though:
> >
> > a) Config issues
> >
> > b) Source code issues
> >
> > My setup:
> >
> > Windows 10, Eclipse Luna, Maven 3.3.9, JDK 1.7.0_79-b15 (64 bit)
> >
> > About a)
> >
> > Using Maven from the command line (pasted) :
> >
> >
> >
> c:\Work2\Testing\myapp3\myapp>c:\Work2\bin\apache-maven-3.3.9-bin\apac
> he-maven-3.3.9\bin\mvn
> >    archetype:generate -D archetypeGroupId=org.apache.isis.archetype  
> > -D archetypeArtifactId=simpleapp-archetype  -D 
> > archetypeVersion=1.11.1 -D groupId=com.mycompany -D artifactId=myapp  
> > -D version=1.0-SNAPSHOT -B
> >
> >
> > Maven is signalling source and target being 1.8 and also having 
> > troubles with
> >
> > this in the POM file
> >
> > <compilerArgument>-parameters</compilerArgument>
> >
> > To solve this, I tried Maven v 3.2.1 and v.3.0.5 adjusting to 1.7 
> > and commenting out the compiler argument (and modifying 
> > requireJavaVersion in maven enforcer plugin)
> >
> > About b)
> >
> > By tweaking the parameters, somehow I managed to start the 
> > compilaton process on Maven 3.3.9 (mvn -e -X clean compile ) but I'm 
> > getting 'incompatible types" compiler errors:
> >
> > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to 
> > execute goal 
> > org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
> > (default-compile) on project myapp-dom: Compilation failure 
> > /C:/Work2/Testing/myapp2/myapp/dom/src/main/java/domainapp/dom/
> > DomainAppDomManifest.java:[36,29] incompatible types
> >   required: java.util.List<java.lang.Class<?>>
> >   found:    java.util.List<java.lang.Class<domainapp.dom.
> > DomainAppDomainModule>>
> >
> > ....
> > ....
> >
> > Caused by: org.apache.maven.plugin.compiler.CompilationFailureException:
> > Compilation failure
> > /C:/Work2/Testing/myapp2/myapp/dom/src/main/java/domainapp/dom/
> > DomainAppDomManifest.java:[36,29] incompatible types
> >   required: java.util.List<java.lang.Class<?>>
> >   found:    java.util.List<java.lang.Class<domainapp.dom.
> > DomainAppDomainModule>>
> >
> >
> > I tried some code tweaking and got further complaints about some 
> > method
> not
> > overridden (getModules() by AppManifest abstract class)
> >
> > I did some research and this MIGHT be related to a JDK bug but..
> > basically... I'm lost.
> >
> > I saw that Apache Isis 1.11 was re-released (1.11.1) to comply with 
> > 1.7 (and still supports 1.7 as a minimum fortunately)  so this might 
> > be related.
> >
> > Can you help?
> >
> >
> > Cheers,
> >
> > Diego
> >
> > P.S. = I also tried using 1.12.0-SNAPSHOT  and using Maven from 
> > inside Eclipse, with the same effect
> >
>

Reply via email to