Expand my Community achievements bar.

Guidelines for the Responsible Use of Generative AI in the Experience Cloud Community.
SOLVED

get "ClassNotFoundException: org.apache.sling.launchpad.app.Main" when trying to run aem-author-p4502.jar on ubuntu.

Avatar

Level 3

I got a quickstart.jar and license key for development from Adobe.

i renamed it to aem-author-4502.jar and if I double click on it on my windows laptop, it works.

My laptop is not strong enough to run AEM as well as my dev tools, so I am trying to run it instead on my dev linux box.

Its ubuntu 20.04 LTS.

I installed the oracle version of java 11:

aem@author1:~/author$ java -version
java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)

JAVA_HOME is set to /usr/lib/jvm/jdk-11.0.9/

the box has 2 CPU and 4GB ram, and 32GB SSD free.  It has nothing else running and is headless.

If I try to start the jar thusly:

aem@author1:~/author$ java -jar -XX:MaxPermSize=256m -Xmx1024M aem-author-p4502.jar

Then I look in the stderr log file I see:

 

Low-memory action set to fork
Using 64bit VM settings, min.heap=1024MB, min permgen=256MB, default fork arguments=[-Xmx1024m, -XX:MaxPermSize=256m]
The JVM reports a heap size of 1024 MB, meets our expectation of 1024 MB +/- 20
Setting properties from filename '/home/aem/author/aem-author-p4502.jar'
Option '-quickstart.server.port' set to '4502' from filename aem-author-p4502.jar
Verbose option not active, closing stdin and redirecting stdout and stderr
Redirecting stdout to /home/aem/author/crx-quickstart/logs/stdout.log
Redirecting stderr to /home/aem/author/crx-quickstart/logs/stderr.log
ResourceProvider paths=[/gui, /gui/default]
java.lang.ClassNotFoundException: org.apache.sling.launchpad.app.Main
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.adobe.granite.quickstart.base.impl.exec.Bootstrap.run(Bootstrap.java:83)
at com.adobe.granite.quickstart.base.impl.Quickstart.run(Quickstart.java:273)
at com.adobe.granite.quickstart.base.impl.Main.<init>(Main.java:919)
at com.adobe.granite.quickstart.base.impl.Main.main(Main.java:981)
Quickstart: aborting
MAIN process: shutdown hook
MAIN process: exiting

 

Any ideas?

Here I am assuming I dont need to start the jar as root, that it will run as a user (as its not trying to use port 80 or similar)

 

What else I tried:

  1. naming the jar file cq-author-p4502.jar  as some articles say it should have this name. Same error.
  2. running start script:
    1. chmod u+x /crx-quickstart/bin/*
    2. cd crx-quickstart/bin
    3. ./start
    4. This instantly terminates with no message or error, and no java process running.
  3.  
1 Accepted Solution

Avatar

Correct answer by
Level 3

Well, after spending hours trying to figure out why the documented install doesnt work, I found by trial and error a workaround.

 

running the jar directly always fails.

 

However, if you first unpack then run, it at least starts.

 

java -jar aem-author-4502.jar -unpack

cd crx-quickstart/bin

./start

 

Interestingly, the unpacked version is different from the version you get when you just run the jar directly as per instructions.  If you unpack, it actually sets the execute bit on the start script.

 

 

 

View solution in original post

6 Replies

Avatar

Correct answer by
Level 3

Well, after spending hours trying to figure out why the documented install doesnt work, I found by trial and error a workaround.

 

running the jar directly always fails.

 

However, if you first unpack then run, it at least starts.

 

java -jar aem-author-4502.jar -unpack

cd crx-quickstart/bin

./start

 

Interestingly, the unpacked version is different from the version you get when you just run the jar directly as per instructions.  If you unpack, it actually sets the execute bit on the start script.

 

 

 

Avatar

Community Advisor

Hi @nutmix,

 

The suggested hardware configuration for AEM to run smoothly is 8GB RAM (preferable 16GB). As you have less RAM size, you can use commands to set the maximum and minimum memory allotted to the AEM instance.

 

In windows, if you double click on the JAR file, it unzips itself and creates a folder named "crx-quickstart" where it will have all the config files required for the server to load.

 

So what happens when you unzip via command prompt? The same thing when you do it with a double click. The "start.bat" file that you were mentioning below contains commands to start the server. Try to use a system with better hardware or alter the startup commands to set maximum and minimum memory allocation.

 

Similar post: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/aem-6-2-quickstart-publish...

 

Thanks,

Kiran Vedantam.

Avatar

Level 3
Thanks for the reply. The technical spec says min ram is 2GB, so I went with 4GB (for author only). Its only a dev box, so will only have me using it.

Avatar

Level 3

Hi, I think you are looking at the requirements for forms. Here is what it says on the link you shared:

The following are the minimum requirements:

  • 5 GB free disk space in the installation directory
  • 2 GB memory

Avatar

Employee

was crx-quickstart folder copied from Windows? 
if so, you can try to recreate the instance. delete the crx-quickstart and run 'java -jar aem-author-p4502.jar' again.

Also, I wouldn't use -XX:MaxPermSize param, since permgen space is gone with java 8.