Cucumber error - `Exception in thread "main" java.lang.NoClassDefFoundError: gherkin/IGherkinDialectProvider` - selenium-webdriver

Im getting this error while running a very basic feature file in Eclipse through Selenium in Java
Exception in thread"main"java.lang.NoClassDefFoundError: gherkin/IGherkinDialectProvider
Im using the following jars
cucumber-java-4.3.0 , cucumber-core-4.3.0 , gherkin-6.0.17 and junit-4.12
Any help is appreciated.

Your version of Gherkin doesn't match the one Cucumber 4.3.0 is using; replace it with gherkin-5.1.0. (See the pom.xml.)
In general, I'd recommend using a dependency manager (Maven or Gradle) to make sure you are getting the correct transitive dependencies. You can find which dependencies you need for Cucumber in the installation docs.

Please remove cucumber-core, cucumber-java, gherkin and Junit. They're transitive dependencies and will be provided by your dependencies.(You can add below set of dependency)
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>4.3.0</version>
<scope>test</scope>
</dependency>

Related

Apache Flink table-walkthrough missing dependency?

I am following the steps from the documentation. When running mvn install for the table-walkthrough project I am getting however the error below:
org.apache.flink.table.api.ValidationException: Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath.
at org.apache.flink.table.factories.FactoryUtil.discoverFactory(FactoryUtil.java:387)
at org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:295)
at org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:266)
at org.apache.flink.table.api.TableEnvironment.create(TableEnvironment.java:95)
at org.apache.flink.playgrounds.spendreport.SpendReportTest.testReport(SpendReportTest.java:52)
After manually adding this dependency, I am able to run the code and update the SpendReport#report method as requested.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-planner_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
I believe this dependency needs to be added in the sample project (IDE or mvn command, both are failing without it).

owlapi-contract maven dependency missing test package

I'm trying the extend the TestBase class, but can't find the correct dependency for:
import org.semanticweb.owlapi.api.test.baseclasses.TestBase;
I'm not so familiair with Maven but added the following dependencies to my pom.xml:
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-contract</artifactId>
<version>5.1.10</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-apibinding</artifactId>
<version>5.1.10</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>5.1.10</version>
</dependency>
I expected that the olwapi-contract dependency contained the test package. However, under my Maven dependencies I only see the following:
Am I missing a dependency, or is the owlapi-contract.jar incomplete?
You are not missing any dependency and the jar is complete.
The org.semanticweb.owlapi.api.test.baseclasses.TestBase class is in the src/test/java directory, so it's a test-related class and cannot be imported through a Maven dependency (basically, nothing in src/test is visible from a Maven dependency).
There are ways to overcome this, but they involve changes to the imported library packaging(owlapi-contracts in this case), so you would have to checkout the OWLAPI code itself.

Unable to deploy Spring application in App Engine

I am trying to deploy PetClinic(Spring application) in App Engine. I have added plugins and dependencies.
*<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.3.1</version>
</plugin>*
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<scope>provided</scope>
</dependency>
It is running while I ran locally using ./mvnw -DskipTests appengine:run. However, it did not deploy to App Engine when I ran /mvnw -DskipTests appengine:deploy. I'm getting an error related to BeanCreationexception (Error creating bean with name 'entityManagerFactory' defined in class path resource). How can I resolve this issue?
Have you tried going through the code lab tutorial for deploying a Spring boot application to app engine?
https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/index.html
Also this github repository will be a useful reference:
https://github.com/GoogleCloudPlatform/getting-started-java/tree/master/appengine-standard-java8/springboot-appengine-standard
As for your specific error. I would investigate which dependencies are bringing in the entitymanager, and what you may be missing. Starting with exactly what is causing the creation exception.

Where to find google app engine JCache dependencies

The JCache documentation https://cloud.google.com/appengine/docs/java/memcache/usingjcache describes how to use the api, however there is no mention of where to find the dependencies. I guessed on
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>1.0.0</version>
</dependency>
which resolves all the classes except for CacheFactory. I found some old references to source forge but no mention of how to resolve these classes.
Maven error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project appengine-helloworld: Compilation failure: Compilation failure:
[ERROR] /Users/me/Google Drive/dev/app/src/main/java/com/example/appengine/helloworld/HelloServlet.java:[26,19] cannot find symbol
[ERROR] symbol: class CacheFactory
This problems seems to originate from the use of the helloworld sample app that is generated when you follow the Hello, World! in 5 minutes guide https://cloud.google.com/appengine/docs/java/
I created a new project with the mvn archetype command described here https://cloud.google.com/appengine/docs/java/tools/maven#maven_requirements This creates a skeleton project with the appengine jar and resolves the jcache stuff
https://cloud.google.com/appengine/docs/java/tools/maven#maven_requirements
Specifically, the dependency is
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>${appengine.version}</version>
</dependency>

GAE Datastore JDO 3.0 POM.xml

I have a problem that I couldn't fix it by myself. It is about JDO 3.0 and Maven. I'm follow this Tutorial however it don't explain nothing about how should I setup the POM.xml. I did a few researches on the internet to setup the pom.xml and you can see the result bellow, however oblivious is not working and have no idea how to setup. Please can you help me? Thanks
<!-- JDO 3.0.1 -->
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.0.1</version>
</dependency>
<!-- Datanucleus 3.1.3 -->
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-enhancer</artifactId>
<version>3.1.1</version>
</dependency>
<!-- Datanucleus Appengine 2.1.2 -->
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>2.1.2</version>
</dependency>
GAE/Datastore requires the jar "datanucleus-appengine" in the CLASSPATH (NOT "datanucleus-rdbms"), and has to have the right (old) version of DataNucleus libraries for it to work. If you use v2.1.2 of the "datanucleus-appengine" plugin, then you must use DataNucleus jars v3.1.x, following http://code.google.com/p/datanucleus-appengine/wiki/Compatibility

Resources