owlapi-contract maven dependency missing test package - owl-api

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.

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).

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

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>

Import react from webjars

I have a spring project and I have added react, jquery and bootstrap webjars in my project. I want to use them in react as import statements.
My pom Dependency:
`<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>react</artifactId>
<version>15.3.2</version>
</dependency>`
I want to know how to use react and jquery in my react project .
This is how I include react and jquery in my Maven project:
pom.xml
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>react-dom</artifactId>
<version>15.6.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.2.1</version>
</dependency>
In webpage I refer to the libraries as follows:
<script src="webjars/react/15.6.1/react.min.js"></script>
<script src="webjars/react-dom/15.6.1/dist/react-dom.min.js"></script>
<script src="webjars/jquery/3.2.1/jquery.min.js"></script>
Intellij IDEA will help you getting the path's right. Note that you may have to force a Maven reload libraries if autocompletion does not work...
Also note that react and react-dom separated into two different webjars somewhere between 15.0.1 and 15.6.1. In 15.0.1 both react and react-dom is in the same library.
Best regards from Ove

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>

AppEngine.iml pom.xml both list dependencies, what goes in which?

steps: New Project, Generate AppEngine
examine -AppEngine.iml and pom.xml in AppEngine module,
Following the https://developers.google.com/appengine/docs/java/endpoints/getstarted/backend/write_api
I added these imports:
import com.google.api.server.spi.config.Api;
import javax.inject.Named;
import java.util.ArrayList;
this would not compile (javax.inject not found) so I modified d20-AppEngine.iml
which did not help:
<orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
so I added to pom.xml:
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
and it compiles.
What is the happening with the .iml file and the pom.xml file? When would I add Maven information versus Gradle dependencies in pom.xml
thanks
.iml file is specific to Intellij. When describing dependencies you should only use the pom.xml or the equivalent of gradle.
The IDEA project files like .iml are generated off the pom.xml. This is a good thing because if you are working with another developer they can use an IDE of their choice. There is no special IDE properties they have to set.

Resources