Difference between revisions of "Developing with Eclipse"

From BaseX Documentation
Jump to navigation Jump to search
m (category)
 
(81 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Installation==
+
This page is part of the [[Developer Section]]. It describes how to get the BaseX sources compiled and running on your system.
 +
 
 +
Another article in the documentation describes how to use BaseX as a [[Integrating Eclipse|query processor in Eclipse]].
 +
 
 +
==Prerequisites==
 
   
 
   
===Eclipse Integration===
+
BaseX is developed with the Eclipse environment (other IDEs like IntelliJ IDEA can be used as well). The [https://www.eclipse.org/downloads/ Eclipse IDE for Java Developers] includes the EGit plugin (for [[Git]]) and the m2e plugin (for [[Maven]]). Other plugins we use are:
 +
 
 +
{| class="wikitable"
 +
|- valign="top"
 +
! Name
 +
! Description
 +
! Update URL
 +
! Eclipse Marketplace
 +
|-
 +
| [http://eclipse-cs.sourceforge.net eclipse-cs]
 +
| Enforces Checkstyle coding standards.
 +
| <code><nowiki>http://eclipse-cs.sf.net/update/</nowiki></code>
 +
| [https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=150 install]
 +
|-
 +
| [https://spotbugs.github.io/ SpotBugs]
 +
| Analyze project at byte code level
 +
| <code><nowiki>https://spotbugs.github.io/eclipse/</nowiki></code>
 +
| [https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=3519199 install]
 +
|-
 +
| [http://www.ucdetector.org/ UCDetector]
 +
| Unnecessary code detector
 +
| <code><nowiki>http://ucdetector.sourceforge.net/update</nowiki></code>
 +
| [https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=661 install]
 +
|}
 +
 
 +
==Check Out==
 
   
 
   
<p>BaseX is being developed with the Eclipse environment. Some style
+
Our [[Git|Git Tutorial]] explains how BaseX can be checked out from the [https://github.com/BaseXdb/basex GitHub Repository] and embedded in Eclipse with EGit. The article also demonstrates how git can be used on command-line.
guidelines are integrated in the sources of BaseX;
+
 
they are being embedded as soon as you open the project.</p>
+
The basex repository contains the following subdirectories:
+
# {{Code|basex-core}} is the main project
<p>The [http://subclipse.tigris.org Subclipse Plugin] is needed
+
# {{Code|basex-api}} contains the BaseX APIs (XML:DB, bindings in other languages) and HTTP Services ([[REST]], [[RESTXQ]], [[WebDAV]])
to check out the latest sources from [[Subversion_Repository|our repository]].
+
# {{Code|basex-examples}} includes some examples code for BaseX
Next, we recommend to use the
+
# {{Code|basex-tests}} contains several unit and stress tests
[http://m2eclipse.sonatype.org m2eclipse] plugin
+
 
to add Maven support to Eclipse.
+
If the "Problems" View contains errors or warnings, you may need to switch to Java 11 (''Windows'' → ''Preferences'' → ''Java'' → ''Installed JREs'').
Some additional guidelines are defined via Checkstyle and can be
+
 
integrated with the [http://eclipse-cs.sourceforge.net eclipse-cs]
+
==Start in Eclipse==
plugin.
+
 
</p>
+
# Press ''Run'' → ''Run…''
+
# Create a new "Java Application" launch configuration
<p>To checkout BaseX, do the following:</p>
+
# Select "basex" as "Project"
+
# Choose a "Main class" (e.g., <code>org.basex.BaseXGUI</code> for the graphical user interface)
#File &raquo; Import
+
# Launch the project via ''Run''
#SVN &raquo; Check out Projects from SVN
+
 
#Use the repository [https://svn.uni-konstanz.de/dbis/basex https://svn.uni-konstanz.de/dbis/basex] and click "Browse"
+
==Alternative==
#Choose the project you like:<br/>
 
##[https://svn.uni-konstanz.de/dbis/basex/trunk/basex basex] is the main project
 
##[https://svn.uni-konstanz.de/dbis/basex/trunk/api api] contains the BaseX APIs (XQJ, XMLDB and bindings in other languages)  
 
##[https://svn.uni-konstanz.de/dbis/basex/trunk/examples examples] demonstrates some use cases for BaseX 
 
#Click Finish
 
  
===Run BaseX with Eclipse===
+
You may as well use the standalone version of [[Maven]] to compile and run the project, use other IDEs such as [https://www.jetbrains.com/idea/ IntelliJ IDEA].
#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"
 
 
===Compile &#38; Run BaseX===
 
 
<p>If the standalone version of [http://maven.apache.org Maven]  
 
is installed, you can run<code> mvn compile </code>in the project directory
 
to compile BaseX.</p>
 
 
  <p>Type in<code> java -cp target/classes/org.basex.BaseX </code>to run BaseX.</p>
 
 
  <p>You can launch the following classes, which are all placed in the
 
<code>org.basex</code> main package:</p>
 
  
;[[Console|BaseX]]
 
: console mode
 
;[[Server|BaseXServer]]
 
: server instance, waiting for requests
 
;[[Server|BaseXClient]]
 
: console mode, interacting with the server
 
;[[GUI|BaseXGUI]]
 
:graphical user interface
 
 
  <p>Moreover, try <code>-h</code> 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.</p>
 
 
[[Category:Developer]]
 
[[Category:Developer]]

Latest revision as of 15:09, 29 July 2022

This page is part of the Developer Section. It describes how to get the BaseX sources compiled and running on your system.

Another article in the documentation describes how to use BaseX as a query processor in Eclipse.

Prerequisites[edit]

BaseX is developed with the Eclipse environment (other IDEs like IntelliJ IDEA can be used as well). The Eclipse IDE for Java Developers includes the EGit plugin (for Git) and the m2e plugin (for Maven). Other plugins we use are:

Name Description Update URL Eclipse Marketplace
eclipse-cs Enforces Checkstyle coding standards. http://eclipse-cs.sf.net/update/ install
SpotBugs Analyze project at byte code level https://spotbugs.github.io/eclipse/ install
UCDetector Unnecessary code detector http://ucdetector.sourceforge.net/update install

Check Out[edit]

Our Git Tutorial explains how BaseX can be checked out from the GitHub Repository and embedded in Eclipse with EGit. The article also demonstrates how git can be used on command-line.

The basex repository contains the following subdirectories:

  1. basex-core is the main project
  2. basex-api contains the BaseX APIs (XML:DB, bindings in other languages) and HTTP Services (REST, RESTXQ, WebDAV)
  3. basex-examples includes some examples code for BaseX
  4. basex-tests contains several unit and stress tests

If the "Problems" View contains errors or warnings, you may need to switch to Java 11 (WindowsPreferencesJavaInstalled JREs).

Start in Eclipse[edit]

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

Alternative[edit]

You may as well use the standalone version of Maven to compile and run the project, use other IDEs such as IntelliJ IDEA.