Issue while running emulator from eclipse - java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

I have created Nexus -4 emulator , and installed the calculator app.

And post that while trying to run the sample test from eclipse . i am facing the below error .

For resolving that i have downloaded the commons - lang -3 jar and added to the class path. But still the same error persists .

error log :

java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
at io.appium.java_client.service.local.AppiumServiceBuilder.findDefaultExecutable(AppiumServiceBuilder.java:181)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
at io.appium.java_client.service.local.AppiumDriverLocalService.buildService(AppiumDriverLocalService.java:74)
at io.appium.java_client.service.local.AppiumDriverLocalService.buildDefaultService(AppiumDriverLocalService.java:70)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:174)
at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:184)
at EmulatorCalculator.setUp(EmulatorCalculator.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:653)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
… 33 more

Please suggest me the solution , and any help is appreciated .

Even i am facing the same issue, some one please help on this

When I use “selenium-server-standalone-2.53.0.jar” file then face the same issue but when I use “selenium-server-standalone-2.48.2.jar” file then IT IS WORKING FINE.

I think selenium guys remove any method in the selenium-server-standalone-2.53.0 version. I also tried by adding “commons-lang-2.6.jar” file into my framework but facing the same below issue.

java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
at io.appium.java_client.service.local.AppiumServiceBuilder.findDefaultExecutable(AppiumServiceBuilder.java:181)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
at io.appium.java_client.service.local.AppiumDriverLocalService.buildService(AppiumDriverLocalService.java:74)
at StartAppiumServer.startServer(StartAppiumServer.java:31)
at StartAppiumServer.checkServer(StartAppiumServer.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:774)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
at org.testng.SuiteRunner.run(SuiteRunner.java:261)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
at org.testng.TestNG.run(TestNG.java:1048)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:112)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:176)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
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)
… 29 more

Please provide some help to resolve this issue in the latest selenium version jar file.

HI Chirag ,

Thanks very much for the reply .

As mentioned , the selenium server 2.48.2 i have included and verified the test . Now the error is resolved .
It seems like more packages included in the “2.48.2” when compared to the latest selenium version .

Thank you very much for the support.

@pr4bh4sh @Priyank_Shah @wreed

Hi All,

Could you please suggest us regarding this issue.

Thanks,

If you think this is so, why not check? It’s open source. I don’t know what methods you might be looking for, so here’s a link:

1 Like

hi,
I found this solution here

I had the same problem too. This is due to the problem of StringUtils. I downloaded Apache Commons Lang plugin and problem was solved.
The download can be found here: http://commons.apache.org/proper/commons-lang/download_lang.cgi
After downloading, add commons-lang3-3.5.jar to your external libraries in your IDE.

1 Like

Thanks Arpit

I also downloaded Commons-lang3.7 from url http://commons.apache.org/proper/commons-lang/download_lang.cgi .
Added this to project folder and run the program. It works fine. I was using Selenium 3.11 jar files

Add the CommonsLang3 jar to your project
https://mvnrepository.com/artifact/org.apache.commons/commons-lang3

Similar issue I also faced. But after adding latest selenium jar(selenium-java-3.14.0) along with junit, hamcrest-core and commons-lang JAR files issues got resolved.

Thanks for this important info, your solution is working