Difference between revisions of "Developing with Eclipse"

From BaseX Documentation
Jump to navigation Jump to search
Line 1: Line 1:
<h2>Installation</h2>
+
==Installation==
 
   
 
   
<h3>Eclipse Integration</h3>
+
===Eclipse Integration===
 
   
 
   
 
<p>BaseX is being developed with the Eclipse environment. Some style
 
<p>BaseX is being developed with the Eclipse environment. Some style
Line 7: Line 7:
 
they are being embedded as soon as you open the project.</p>  
 
they are being embedded as soon as you open the project.</p>  
 
   
 
   
<p>The <a href="http://subclipse.tigris.org/">Subclipse Plugin</a> is needed
+
<p>The [http://subclipse.tigris.org Subclipse Plugin] is needed
 
to check out the latest sources from our repository.
 
to check out the latest sources from our repository.
 
Next, we recommend to use the
 
Next, we recommend to use the
<a href="http://m2eclipse.sonatype.org/">m2eclipse</a> plugin
+
[http://m2eclipse.sonatype.org m2eclipse] plugin
 
to add Maven support to Eclipse.
 
to add Maven support to Eclipse.
 
Some additional guidelines are defined via Checkstyle and can be
 
Some additional guidelines are defined via Checkstyle and can be
integrated with the <a href="http://eclipse-cs.sourceforge.net/">eclipse-cs</a>
+
integrated with the [http://eclipse-cs.sourceforge.net eclipse-cs]
 
plugin.
 
plugin.
 
</p>  
 
</p>  
Line 19: Line 19:
 
<p>To checkout BaseX, do the following:</p>  
 
<p>To checkout BaseX, do the following:</p>  
 
   
 
   
<ol>
+
#File &raquo; Import
  <li>File &raquo; Import</li>
+
#SVN &raquo; Check out Projects from SVN
    <li>SVN &raquo; Check out Projects from <span class="caps">SVN</span></li>
+
#Use the repository [https://svn.uni-konstanz.de/dbis/basex https://svn.uni-konstanz.de/dbis/basex] and click "Browse"
    <li>Use the repository <a href="https://svn.uni-konstanz.de/dbis/basex">https://svn.uni-konstanz.de/dbis/basex</a> and click "Browse" </li>
+
#Choose the project you like:<br/>  
    <li>Choose the project you like:<br/>  
+
##[https://svn.uni-konstanz.de/dbis/basex/trunk/basex basex] is the main project
    <ol type="a">
+
##[https://svn.uni-konstanz.de/dbis/basex/trunk/api api] contains the BaseX APIs (XQJ, XMLDB and bindings in other languages)  
      <li><a href="https://svn.uni-konstanz.de/dbis/basex/trunk/basex/">basex</a>
+
##[https://svn.uni-konstanz.de/dbis/basex/trunk/examples examples] demonstrates some use cases for BaseX
      is the main project</li>
+
#Click Finish
      <li><a href="https://svn.uni-konstanz.de/dbis/basex/trunk/api/">api</a>
 
      contains the BaseX APIs (XQJ, XMLDB and bindings in other languages)</li>
 
      <li><a href="https://svn.uni-konstanz.de/dbis/basex/trunk/examples/">examples</a>
 
      demonstrates some use cases for BaseX</li>
 
    </ol></li>
 
    <li>Click Finish</li>
 
  </ol>
 
 
   
 
   
 +
===Run BaseX with Eclipse===
 +
#Press Run &raquo; Run&#8230;
 +
#Create a new "Java Application" launch configuration
 +
#Select "basex" as "Project"
 +
#Choose a "Main class" (e.g., <code>org.basex.BaseXWin</code> for the graphical user interface)
 +
#Launch the project via "Run"
 
   
 
   
  <h3>Run BaseX with Eclipse</h3>
+
===Compile &#38; Run BaseX===
 
   
 
   
  <ol>
+
<p>If the standalone version of [http://maven.apache.org Maven]
  <li>Press Run &raquo; Run&#8230;</li>
 
    <li>Create a new "Java Application" launch configuration</li>
 
    <li>Select "basex" as "Project" </li>
 
    <li>Choose a "Main class" (e.g., <code>org.basex.BaseXWin</code> for the graphical user interface)</li>
 
    <li>Launch the project via "Run"</li>
 
  </ol>
 
 
  <h3>Compile &#38; Run BaseX</h3>
 
 
<p>If the standalone version of <a href="http://maven.apache.org/">Maven</a>
 
 
is installed, you can run<code> mvn compile </code>in the project directory
 
is installed, you can run<code> mvn compile </code>in the project directory
 
to compile BaseX.</p>  
 
to compile BaseX.</p>  
Line 55: Line 44:
 
   
 
   
 
   <p>You can launch the following classes, which are all placed in the
 
   <p>You can launch the following classes, which are all placed in the
<code>org.basex</code> main package:</p>  
+
<code>org.basex</code> main package:</p>
+
 
  <table cellpadding="0" cellspacing="0" border="0">
+
;BaseX
    <tr>
+
: console mode
      <td><b>BaseX</b> </td>
+
;BaseXServer
      <td width='12'/>
+
: server instance, waiting for requests
      <td> console mode </td>
+
;BaseXClient
    </tr>
+
: console mode, interacting with the server
    <tr>
+
;BaseXGUI
      <td><b>BaseXServer</b></td>
+
:graphical user interface  
      <td/>
 
      <td> server instance, waiting for requests</td>
 
    </tr>
 
    <tr>
 
      <td><b>BaseXClient</b></td>
 
      <td/>
 
      <td>console mode, interacting with the server</td>
 
    </tr>
 
    <tr>
 
      <td><b>BaseXWin</b></td>
 
      <td/>
 
      <td> graphical user interface </td>
 
    </tr>
 
  </table>
 
 
   
 
   
 
   <p>Moreover, try <code>-h</code> to have a look at the available command-line options.
 
   <p>Moreover, try <code>-h</code> to have a look at the available command-line options.
Line 84: Line 59:
 
   entering the console.</p>  
 
   entering the console.</p>  
 
   
 
   
<h2>Integration</h2>
+
==Integration==
 
   
 
   
 
<p>As BaseX is offered in a Maven repository, you can easily embed it in your own projects.
 
<p>As BaseX is offered in a Maven repository, you can easily embed it in your own projects.
 
In order to use the BaseX Maven Artifacts, add the following lines to your
 
In order to use the BaseX Maven Artifacts, add the following lines to your
 
<code>pom.xml</code> file:</p>  
 
<code>pom.xml</code> file:</p>  
<code>  
+
<pre class="brush:xml">&lt;repositories&gt;
&lt;repositories&gt;
 
 
   &lt;repository&gt;
 
   &lt;repository&gt;
 
     &lt;id&gt;dbis-ukn&lt;/id&gt;
 
     &lt;id&gt;dbis-ukn&lt;/id&gt;
Line 96: Line 70:
 
     &lt;url&gt;http://www.inf.uni-konstanz.de/dbis/basex/maven&lt;/url&gt;
 
     &lt;url&gt;http://www.inf.uni-konstanz.de/dbis/basex/maven&lt;/url&gt;
 
   &lt;/repository&gt;
 
   &lt;/repository&gt;
&lt;/repositories&gt;
+
&lt;/repositories&gt;</pre>  
</code>  
 
 
   
 
   
<h3>BaseX Artifact</h3>
+
===BaseX Artifact===
<code>  
+
<pre class="brush:xml">&lt;dependency&gt;
&lt;dependency&gt;
 
 
   &lt;groupId&gt;org.basex&lt;/groupId&gt;
 
   &lt;groupId&gt;org.basex&lt;/groupId&gt;
 
   &lt;artifactId&gt;basex&lt;/artifactId&gt;
 
   &lt;artifactId&gt;basex&lt;/artifactId&gt;
 
   &lt;version&gt;6.2.4&lt;/version&gt;
 
   &lt;version&gt;6.2.4&lt;/version&gt;
&lt;/dependency&gt;
+
&lt;/dependency&gt;</pre>  
</code>  
 
 
   
 
   
<h3>BaseX <span class="caps">API</span> Artifact</h3>
+
===BaseX API Artifact===
<p>...including the <a href="http://jcp.org/en/jsr/detail?id=225" title="XQJ">XQJ</a> and  
+
<p>...including the [http://jcp.org/en/jsr/detail?id=225 XQJ] and  
<a href="http://sourceforge.net/projects/xmldb-org/">XML:DB</a> API:</p>  
+
[http://sourceforge.net/projects/xmldb-org XML:DB] API:</p>  
<code>  
+
<pre class="brush:xml">&lt;dependency&gt;
&lt;dependency&gt;
 
 
   &lt;groupId&gt;org.basex&lt;/groupId&gt;
 
   &lt;groupId&gt;org.basex&lt;/groupId&gt;
 
   &lt;artifactId&gt;basex-api&lt;/artifactId&gt;
 
   &lt;artifactId&gt;basex-api&lt;/artifactId&gt;
 
   &lt;version&gt;6.2.4&lt;/version&gt;
 
   &lt;version&gt;6.2.4&lt;/version&gt;
&lt;/dependency&gt;
+
&lt;/dependency&gt;</pre>
</code>
 
[[Category:Wikify]]
 

Revision as of 19:14, 12 December 2010

Installation

Eclipse Integration

BaseX is being developed with the Eclipse environment. Some style guidelines are integrated in the sources of BaseX; they are being embedded as soon as you open the project.

The Subclipse Plugin is needed to check out the latest sources from our repository. Next, we recommend to use the m2eclipse plugin to add Maven support to Eclipse. Some additional guidelines are defined via Checkstyle and can be integrated with the eclipse-cs plugin.

To checkout BaseX, do the following:

  1. File » Import
  2. SVN » Check out Projects from SVN
  3. Use the repository https://svn.uni-konstanz.de/dbis/basex and click "Browse"
  4. Choose the project you like:
    1. basex is the main project
    2. api contains the BaseX APIs (XQJ, XMLDB and bindings in other languages)
    3. examples demonstrates some use cases for BaseX
  5. Click Finish

Run BaseX with Eclipse

  1. Press Run » Run…
  2. Create a new "Java Application" launch configuration
  3. Select "basex" as "Project"
  4. Choose a "Main class" (e.g., org.basex.BaseXWin for the graphical user interface)
  5. Launch the project via "Run"

Compile & Run BaseX

If the standalone version of Maven is installed, you can run mvn compile in the project directory to compile BaseX.

Type in java -cp target/classes/org.basex.BaseX to run BaseX.

You can launch the following classes, which are all placed in the org.basex main package:

BaseX
console mode
BaseXServer
server instance, waiting for requests
BaseXClient
console mode, interacting with the server
BaseXGUI
graphical user interface

Moreover, try -h to have a look at the available command-line options. For example, you can evaluate XQuery expressions or process database commands without entering the console.

Integration

As BaseX is offered in a Maven repository, you can easily embed it in your own projects. In order to use the BaseX Maven Artifacts, add the following lines to your pom.xml file:

<repositories>
  <repository>
    <id>dbis-ukn</id>
    <name>DBIS Maven Repository</name>
    <url>http://www.inf.uni-konstanz.de/dbis/basex/maven</url>
  </repository>
</repositories>

BaseX Artifact

<dependency>
  <groupId>org.basex</groupId>
  <artifactId>basex</artifactId>
  <version>6.2.4</version>
</dependency>

BaseX API Artifact

...including the XQJ and XML:DB API:

<dependency>
  <groupId>org.basex</groupId>
  <artifactId>basex-api</artifactId>
  <version>6.2.4</version>
</dependency>