fixed.
On 7 March 2016 at 12:52, Dan Haywood <[email protected]> wrote: > 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 >> > > >> > >> >>
