Changes

Jump to navigation Jump to search
728 bytes added ,  10:52, 29 July 2020
This page is part of the [[Developer Section]]. It demonstrates how [httphttps://maven.apache.org Maven] is used to compile and run BaseX, and embed it into other projects.
==Using Maven==
If the standalone version of you have [[http://maven.apache.org MavenGit|cloned our repository]] is and installedMaven on your machine,you can use run the following commands in any of the BaseX repositoriesfrom all local repository directories:
* <code>mvn compile</code>: the BaseX source files are is compiled. To launch the project, type in <code>java -cp target/classes org.basex.BaseX</code>, or have a look at our [[Start Scripts]].* <code>mvn package</code>: JAR archives are created in the <code>{{Code|target</code> }} class directory, and all relevant libraries are created in the {{Code|lib}} directory. Packaging is useful if you want to use the start scripts.* <code>mvn install</code>: the JAR archive is installed to the local repository, and made available to other Maven projects. This is particularly useful if you are compiling a beta version of BaseX, for which no archives exist in the repositories. By adding the flag <code>-DskipTests=true</code> you can skip running the JUnit tests and speed up the packaging procedure. You may as well use [[Integrate|Eclipse and m2eclipse]] to compile the BaseX sources.
By adding the flag <code>-DskipTests</code> you can skip the JUnit tests and speed up packaging. You may as well use [[Developing with Eclipse|Eclipse and m2eclipse]] to compile the BaseX sources.
 
There are several alternatives for starting BaseX:
 
* type in {{Code|java -cp target/classes org.basex.BaseX}} in the {{Code|basex-core}} directory to start BaseX on the command-line mode,
* type in {{Code|mvn jetty:run}} in the {{Code|basex-api}} directory to start BaseX with Jetty and the HTTP servers,
* run one of the [[Start Scripts]] contained in the {{Code|etc}} directory
 
==Artifacts==
<p>As BaseX is offered in a Maven repository, you You can easily embed it BaseX into your own Maven projects.To use the BaseX Maven Artifacts, add by adding the following lines XML snippets to your<code>{{Code|pom.xml</code> }} file:</p>  <pre classsyntaxhighlight lang="brush:xml">&lt;<repositories&gt;> &lt;<repository&gt;> &lt;<id&gt;>basex&lt;</id&gt;> &lt;<name&gt;>BaseX Maven Repository&lt;</name&gt;> &lt;<url&gt;>http://files.basex.org/maven&lt;</url&gt;> &lt;</repository&gt;>&lt;</repositories&gt;></presyntaxhighlight>
===BaseXMain Package===  <pre classsyntaxhighlight lang="brush:xml">&lt;<dependency&gt;> &lt;<groupId&gt;>org.basex&lt;</groupId&gt;> &lt;<artifactId&gt;>basex&lt;</artifactId&gt;> &lt;<version&gt;>7.6</version></dependency></syntaxhighlight> ===APIs and Services===  <p>...including APIs and the [[REST]], [[RESTXQ]] and [[WebDAV]] services:</p> <syntaxhighlight lang="xml"><dependency> <groupId>org.basex</groupId> <artifactId>basex-api</artifactId> <version>7.1&lt;6</version&gt;>&lt;</dependency&gt;></presyntaxhighlight>
===BaseX XQJ API=== <p>...including the [[REST]], [http://sourceforge.net/projects/xmldb-org XML:DB]and [http://jcp.org/en/jsr/detail?id=225 XQJ] APIs:</p> <pre class="brush:xml">&lt;dependency&gt; &lt;groupId&gt;org.basex&lt;/groupId&gt; &lt;artifactId&gt;basex-api&lt;/artifactId&gt; &lt;version&gt;6.7.1&lt;/version&gt;&lt;/dependency&gt;</pre>
[[Category<p>The XQJ API is hosted at http:Developer]]//xqj.net:</p> <syntaxhighlight lang="xml"><repository> <id>xqj</id> <name>XQJ Maven Repository</name> <url>http://xqj.net/maven</url></repository>...<dependency> <groupId>net.xqj</groupId> <artifactId>basex-xqj</artifactId> <version>1.2.0</version></dependency><dependency> <groupId>com.xqj2</groupId> <artifactId>xqj2</artifactId> <version>0.1.0</version></dependency><dependency> <groupId>javax.xml.xquery</groupId> <artifactId>xqj-api</artifactId> <version>1.0</version></dependency></syntaxhighlight>
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu