Install Grails on Windows 10 - windows

I am trying to install Grails on Windows, which is an easy process. But, I got an error which I can't understand its reason? I configure java home and grails home properly. Any idea why grails isn't installed?
C:\Users\admin>java -version
java version "14" 2020-03-17
Java(TM) SE Runtime Environment (build 14+36-1461)
Java HotSpot(TM) 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)
C:\Users\admin>echo %grails_home%
C:\grails-4.0.0
C:\Users\admin>grails -version
java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:43)
at org.codehaus.groovy.reflection.GroovyClassValueFactory.<clinit>(GroovyClassValueFactory.java:35)
at org.codehaus.groovy.reflection.ClassInfo.<clinit>(ClassInfo.java:107)
at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95)
at org.codehaus.groovy.reflection.ReflectionCache.<clinit>(ReflectionCache.java:39)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:209)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:107)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:85)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:86)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.bitwiseNegate(ScriptBytecodeAdapter.java:842)
at org.grails.config.NavigableMap.<clinit>(NavigableMap.groovy)
at org.grails.cli.GrailsCli.<clinit>(GrailsCli.groovy:77)
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
at org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod.<clinit>(NumberNumberMetaMethod.java:33)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
at java.base/java.lang.Class.newInstance(Class.java:604)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.createMetaMethodFromClass(MetaClassRegistryImpl.java:257)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:110)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:85)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:86)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.bitwiseNegate(ScriptBytecodeAdapter.java:842)
at org.grails.config.NavigableMap.<clinit>(NavigableMap.groovy)
at org.grails.cli.GrailsCli.<clinit>(GrailsCli.groovy:77)

You're using JDK14 which is not supported by grails 4.0.x. Use a LTS such as Java 11. wait until grails updates to the latest
Spring-boot, which Grails is based on, added support for JDK 14 4 days ago (March 26th 2020). JDK 14 will likely be supported in Grails 4.1.x series.

Related

java.lang.RuntimeException: wrong class format DROOL compatibility with jdk 11 and Wildfly 15

I have my application deployed on wildfly 15 and drool dependency of version 5.1.1.
After upgrading to JDK 11, I am facing the following issue.
Caused by: java.lang.RuntimeException: wrong class format
at test.ear//org.drools.commons.jci.compilers.EclipseJavaCompiler$2.findType(EclipseJavaCompiler.java:260)
at test.ear//org.drools.commons.jci.compilers.EclipseJavaCompiler$2.findType(EclipseJavaCompiler.java:204)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:102)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:122)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.resolve(ParameterizedTypeBinding.java:851)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:100)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(BinaryTypeBinding.java:1016)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getExactMethod(BinaryTypeBinding.java:771)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getExactMethod(SourceTypeBinding.java:840)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.Scope.findExactMethod(Scope.java:893)
at test.ear//org.eclipse.jdt.internal.compiler.lookup.Scope.getImplicitMethod(Scope.java:1952)
at test.ear//org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:400)
at test.ear//org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:314)
at test.ear//org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:314)
at test.ear//org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.resolve(LocalDeclaration.java:186)
at test.ear//org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:447)
at test.ear//org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:189)
at test.ear//org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:406)
at test.ear//org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1131)
at test.ear//org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1219)
at test.ear//org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:528)
at test.ear//org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:759)
at test.ear//org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:464)
at test.ear//org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJavaCompiler.java:351)
at test.ear//org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:51)
at test.ear//org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:389)
at test.ear//org.drools.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:56)
at test.ear//org.drools.compiler.PackageRegistry.compileAll(PackageRegistry.java:74)
at test.ear//org.drools.compiler.PackageBuilder.compileAll(PackageBuilder.java:677)
at test.ear//org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:640)
at test.ear//org.drools.compiler.PackageBuilder.addPackageFromXml(PackageBuilder.java:307)
at test.ear//org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:467)
at test.ear//org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)
at test.ear.integration-engine.jar//com.test.generator.xdrl.DroolsXdrlGenerator.xmlToPackage(DroolsXdrlGenerator.java:334)
at test.ear.integration-engine.jar//com.test.generator.xdrl.DroolsXdrlGenerator.buildRule(DroolsXdrlGenerator.java:277)
at test.ear.integration-engine.jar//com.test.generator.xdrl.DroolsXdrlGenerator.generate(DroolsXdrlGenerator.java:210)
at test.ear.integration-engine.jar//com.test.generator.xdrl.DroolsXdrlGenerator.generate(DroolsXdrlGenerator.java:121)
... 67 more
Caused by: org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at test.ear//org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:372)
at test.ear//org.drools.commons.jci.compilers.EclipseJavaCompiler$2.findType(EclipseJavaCompiler.java:254)
... 104 more
I am not getting any clue how to approach the issue? Is it like i need to upgrade the version of drool?
Whereas it is working fine in jdk 8.

Java 12 JMeter 5 HTTP/2 request java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory

I am using Java 12, JMeter 5.1.1 on Ubuntu 9.0.4 and bumps into the following exception when trying to send HTTP/2 request:
Response code: Non HTTP response code: java.util.concurrent.ExecutionException
Response message: Non HTTP response message: java.lang.IllegalStateException: No Client ALPNProcessors!
And this stack trace in the response body:
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138)
at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.connect(HTTP2Connection.java:68)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:278)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:138)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:115)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.IllegalStateException: No Client ALPNProcessors!
at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.<init>(ALPNClientConnectionFactory.java:54)
at org.eclipse.jetty.http2.client.HTTP2Client.lambda$doStart$1(HTTP2Client.java:155)
at org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.newConnection(HTTP2Client.java:438)
at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:222)
at org.eclipse.jetty.io.ManagedSelector.access$1500(ManagedSelector.java:60)
at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:825)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672)
... 1 more
JMeter 5.1.1 comes with jetty-alpn-client-9.4.9.v20180320.jar by default.
I then download the jetty alpn java client library from http://central.maven.org/maven2/org/eclipse/jetty/jetty-alpn-java-client/ and put that into jmeter installed lib/ folder and results in this exception:
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138)
at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.connect(HTTP2Connection.java:68)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:278)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:138)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:115)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory
at org.eclipse.jetty.http2.client.HTTP2Client.lambda$doStart$1(HTTP2Client.java:155)
at org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.newConnection(HTTP2Client.java:438)
at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:222)
at org.eclipse.jetty.io.ManagedSelector.access$1500(ManagedSelector.java:60)
at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:825)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:436)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 8 more
I switched to Java 11 but get the same error.
Any advice and insight is appreciated.
No Client ALPNProcessors! is a message from the Jetty libraries that handle ALPN.
Because you are running in JDK 12 (and I don't think there is any big difference with JDK 11, so JDK 12 should be fine), you must have the jetty-alpn-java-client jar in the classpath, so that the Jetty libraries will find an implementation of the ALPNProcessor.Client class (via the ServiceLoader mechanism) that, as the error shows, cannot be found.
You don't detail how you are setting up TLS, etc. and I would have expected JMeter to have the jetty-alpn-java-client jar in the classpath already, but evidently there is something wrong in your setup (or in JMeter's).
I would double check how JMeter configures TLS; if it is using the standard JDK implementation, then it must have the jetty-alpn-java-client jar in the classpath.
If JMeter is using other TLS implementations (e.g. Conscrypt), then the Jetty project provides similar libraries (e.g. jetty-alpn-conscrypt-client jar) that similarly should be in the classpath.
JMeter 5 doesn't officially support Java 12
JMeter 5.0 officially requires Java 8 or 9, although later versions may be unofficially compatible. From our internal testing, JMeter will run on Java 11
Also in JMeter group announcement:
JMeter 5.0 is tested on Java 8 to 10, Java 11 should also work.
Notice also Java 12 isn't Long-Term-Support release
Java SE 11 however is an LTS release, and therefore Oracle Customers will receive Oracle Premier Support and periodic update releases, even though Java SE 12 was released
Solution: Download http://central.maven.org/maven2/org/eclipse/jetty/jetty-alpn-java-client/ and put in the installed jmeter lib/ folder. JMeter only comes installed with jetty-alpn-client which is not enough.

Problem installing WebLogic Server on Mac OS

When I run the java -jar command java -jar fmw_12.2.1.2.0_wls.jar in a WebLogic/ directory I created for the installation, I receive this error:
akh#akhs-MacBook-Pro ~/WebLogic: java -jar fmw_12.2.1.2.0_wls.jar
Exception in thread "main" java.util.ServiceConfigurationError: com.oracle.cie.common.dao.DataHandlerSpi: com.oracle.cie.common.dao.jaxb.JaxbDataHandlerSpiImpl Unable to get public no-arg constructor
at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:581)
at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:672)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1232)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
at com.oracle.cie.common.dao.DataHandlerSpi.getDataHandlerProvider(DataHandlerSpi.java:81)
at com.oracle.cie.gdr.helpers.DaoHelper.getDataHandlerProvider(DaoHelper.java:123)
at com.oracle.cie.gdr.helpers.DaoHelper.parse(DaoHelper.java:170)
at com.oracle.cie.gdr.helpers.DaoHelper.getRootWrapper(DaoHelper.java:398)
at com.oracle.cie.nextgen.common.inputs.parser.OptionsParser.getOptionsInfoDao(OptionsParser.java:516)
at com.oracle.cie.nextgen.common.inputs.parser.OptionsParser.parseOptionsDao(OptionsParser.java:189)
at com.oracle.cie.nextgen.common.inputs.parser.OptionsParser.<init>(OptionsParser.java:136)
at com.oracle.cie.nextgen.common.inputs.parser.OptionsParser.getInstance(OptionsParser.java:123)
at com.oracle.cie.nextgen.common.inputs.impl.OUIOptions.<init>(OUIOptions.java:58)
at com.oracle.cie.nextgen.common.inputs.impl.InputsImpl.<init>(InputsImpl.java:53)
at com.oracle.cie.nextgen.common.inputs.impl.InputsImpl.<clinit>(InputsImpl.java:37)
at com.oracle.cie.nextgen.common.inputs.helpers.InputHandler.getInputs(InputHandler.java:41)
at com.oracle.cie.nextgen.launcher.Launcher.processCommandLineArgs(Launcher.java:3135)
at com.oracle.cie.nextgen.launcher.Launcher.execute(Launcher.java:3840)
at com.oracle.cie.nextgen.launcher.Launcher.main(Launcher.java:3801)
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3138)
at java.base/java.lang.Class.getConstructor0(Class.java:3343)
at java.base/java.lang.Class.getConstructor(Class.java:2152)
at java.base/java.util.ServiceLoader$1.run(ServiceLoader.java:659)
at java.base/java.util.ServiceLoader$1.run(ServiceLoader.java:656)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:667)
... 19 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 27 more
I have set up my JAVA_HOME in .bash_profile. Echo for $JAVA_HOME is: "/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home". I have tested and run "java --version" and I get
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
I am running on macOS Mojave version 10.14.5, my JDK is 8 at path /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java.
I don't know why the Java is breaking and the installer is not running.
first you must install correct jdk, not openjdk.

Maven javafx with java 8

After fixing some problems with maven I am having some with my standalone app, all my other libraries seem to load properly.
I am getting this error
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swt/FXCanvas
at mapper.osm.main.Main.createContents(Main.java:280)
at mapper.osm.main.Main.open(Main.java:182)
at mapper.osm.main.Main.main(Main.java:117)
Caused by: java.lang.ClassNotFoundException: javafx.embed.swt.FXCanvas
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
jdc#hal-win MINGW64 ~/git/mapper-osm/mapper.osm/target (master)
$ java -version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)
I added this plugin to my pom.xml, but I still get the same problem https://github.com/javafx-maven-plugin/javafx-maven-plugin.
Isnt java 8 supposed to run with javafx natively?
If you are using tycho then this should solve your issue http://tomsondev.bestsolution.at/2014/05/15/maven-tycho-0-20-0-and-java8-source-code/
As the exception says, it cannot find a class, named FXCanvas under javafx/embed/swt. You need to add jfxswt.jar to your class path. There are two links, which may help you solve your issue. link 1 link2
I hope this helps.

java.util.concurrent.ExecutionException when starting tomcat 7

How to solve it?? I installed Java 7 and this occured when starting tomcat which has my application. I think the problem is based on my application. (
Tomcat 7 run successfully before. I installed java 7 and uninstall java 6 after this installation problem occured)
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/m.apus]]
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/m.apus]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.NoClassDefFoundError: javax/ejb/FinderException
at java.lang.Class.getDeclaredFields0(Native Method)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
... 21 more
Edit
LifecycleException ocurred before I installed Java 7. I think this exception is not based on that. But I don't know why I encounter this exception.
Use Java EE libraries, there's files needed to support EJB. You've got java.lang.NoClassDefFoundError for the class that is in the library that implements Java EE specification. The file you you need is javax.ejb.jar from version 6 Java EE default reference implementation. Supply Java EE libraries with your Java web applications. Initially Tomcat has not support for EJB.
Tomcat 7 is not a (full) Java EE container. It is "just" a servlet/JSP server.
If you need EJBs, you'll need a full-fledged Java EE server such as Glassfish or JBoss

Resources