Ah ok. I'll fix that this evening. Thx, Dan On 7 Mar 2016 12:50, "Nacho Cánovas Rejón" <[email protected]> wrote:
> 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:[email protected]] > Sent: domingo, 28 de febrero de 2016 14:59 > To: [email protected] > 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 < > [email protected]> > 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 <[email protected]> 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 > > > > > > >
