This article explains how you can make LuciadLightspeed available through Apache Maven. Maven is a development project management and build automation tool. More information is available on the Maven website: http://maven.apache.org/.

Deploying to a repository

Luciad provides Project Object Model (POM) files for all libraries available in LuciadLightspeed. You can find those POM files in the build/maven/pom directory. To deploy them to your repository, run the script deploy.sh or deploy.bat in the build/maven directory. If you prefer to deploy private dependencies only, you can use the script deploy.private.sh or deploy.private.bat in the build/maven directory.

Private dependencies are:

When you run these scripts, you must give the URL and credentials to your Maven repository. The script then deploys all libraries available in your release.

The deployment script requires at least Ant 1.10.14. Ant must have access to the Maven Ant tasks library. You can give Ant access to that Maven Tasks library, either by storing it in Ant’s lib directory, by including it in the CLASSPATH environment variable, or by supplying it through the -lib command line parameter. LuciadLightspeed provides recent versions of the Maven Ant Tasks library in the build/ant directory of the LuciadLightspeed installation.

If you want support for protocols other than file and http, you can make use of Maven Wagon. See http://maven.apache.org/wagon/ for more information.

Using the Luciad libraries

You can use the Luciad libraries, like any other Maven dependency, by adding them to your project POM. We offer a number of convenience POM files that depend on all non-optional components in a LuciadLightspeed product tier: Essential, Advanced or Pro. If you have any optional components in your release, you must add POM dependencies for each of them. For more information about product tiers and their components, see LuciadLightspeed product tiers.

The available product tier POM dependencies
  • luciadlightspeed_essential

  • luciadlightspeed_advanced

  • luciadlightspeed_pro

Table 1. Overview of available optional components and their POM dependency name
Optional Component Name POM Dependency Name

Aviation Standards

luciadlightspeed_aviation_standards

Database Connectors

luciadlightspeed_database_connectors

Defense Standards

luciadlightspeed_defense_standards

Defense Symbology

luciadlightspeed_defense_symbology

Google Earth Enterprise

luciadlightspeed_google_earth_enterprise

Graph and Routing Engine

luciadlightspeed_graph_and_routing_engine

Infrastructure Standards

luciadlightspeed_infrastructure_standards

Maritime Standards

luciadlightspeed_maritime_standards

OGC Server

luciadlightspeed_ogc_server

Radar Connectors

luciadlightspeed_radar_connectors

S-63

luciadlightspeed_s63

Terrain Analysis Engine

luciadlightspeed_terrain_analysis_engine

Weather & Environment Standards

luciadlightspeed_weather_environment_standards

You can put this information in your POM file to add a dependency for the LuciadLightspeed Pro tier:

Program: Adding a dependency for LuciadLightspeed Pro
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_pro</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>

The example uses a placeholder for the LuciadLightspeed version. It’s recommended to define a Maven property for the LuciadLightspeed version as a value placeholder, to prevent an accidental mixing of versions. As a result, you only have to update the version number once, in the properties, when you upgrade to a new LuciadLightspeed version.

Adding a license

LuciadLightspeed license files aren’t automatically uploaded to the repository. You can add license files manually by means of Maven’s deploy-file goal, as in the example below.

Program: Adding a license
mvn deploy:deploy-file \
  -DgroupId=com.yourcompany \               # Do not use com.luciad.
  -DartifactId=luciadlightspeed_development_license \
  -Dversion=2021.0-20210404 \               # For instance the date that the license was received.
  -Dpackaging=jar \
  -Dfile=development.jar \
  -Durl=yourCompanyRepositoryUrl \
  -DrepositoryId=yourCompanyRepositoryId \ # Server Id to map on the <id> under <server> section of
                                           # settings.xml.
                                           # This parameter will be required for
                                           # authentication when using a remote repository.
                                           # This parameter can be omitted when using a local repo.

If you have more than one application, and each application uses a different Luciad license, you must ensure that the artifactId for each of these license files is unique.

If you are using a remote repository, you must authenticate the deploy:deploy-file command. To do so, you must define a server in your settings.xml with the necessary credentials, and pass the server ID to the command using the repositoryId parameter.

Here is an example server configuration in settings.xml:

Program: Settings.xml configuration
  <servers>
    <server>
      <id>yourCompanyRepositoryId</id>
      <url>yourCompanyRepositoryUrl</url>
      <username>username</username>
      <password>password</password>
    </server>
  </servers>

Next, in your project’s pom.xml, specify:

Program: Adding a license
    <dependency>
      <groupId>com.yourcompany</groupId>
      <artifactId>luciadlightspeed_deployment_license</artifactId>
      <version>${luciad.license.version}</version>
    </dependency>

Dependency Management

Luciad provides a Bill-of-Materials (BOM) POM file in order to help maintain consistency with dependency versions across your projects. The BOM POM file is a special type of POM file that only contains a dependencyManagement section. A BOM POM is used to control the versions of a project’s dependencies and provide a central place to define and update those versions.

Including the LuciadLightspeed BOM POM file in the dependencyManagement section of your project POM file ensures you use the same versions of dependencies that LuciadLightspeed uses and was tested against. This makes it easier to add new dependencies to your project without worrying about the version that you should depend on.

To include the BOM POM file in your project, add the following lines to the dependencyManagement section of your project’s POM file:

Program: Adding BOM POM file to dependencyManagement
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.luciad</groupId>
        <artifactId>luciadlightspeed-bom</artifactId>
        <version>${luciad.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

Adding JavaFX dependencies

LuciadLightspeed has a compile time dependency on JavaFX. If your JDK does not include it, you must add JavaFX dependencies to your project.

In your project’s pom.xml, specify:

Program: Adding JavaFX dependencies
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-base</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-swing</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-controls</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-graphics</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-web</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-fxml</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-media</artifactId>
      <version>17</version>
    </dependency>

Adding an execution plugin (optional)

If you want to run Lucy from the command line, you can add this plugin configuration to your project’s pom.xml. Once you configured this plugin, you can run the LucyMapCentric application using the command mvn compile exec:exec. Alternatively, you can execute any LuciadLightspeed sample by changing the mainClass in this configuration to the main class of the sample you want to execute. For example, you can switch it to samples.gxy.decoder.MainPanel to execute the GXY decoder sample.

For an explanation of the configured system properties, see the IDE integration article.

Program: Adding an execution plugin
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <executable>java</executable>
          <longClasspath>true</longClasspath>
          <arguments>
            <argument>-Djava.net.useSystemProxies=true</argument>
            <argument>-Dsun.awt.noerasebackground=true</argument>
            <argument>-Dsun.java2d.opengl=false</argument>
            <argument>-Dswing.aatext=true</argument>
            <argument>-Dsun.java2d.d3d=false</argument>
            <argument>-Djava.library.path=</argument>
            <argument>-Xmx2g</argument>
            <argument>-classpath</argument>
            <classpath/>
            <argument>samples.lucy.frontend.mapcentric.Main</argument>
          </arguments>
        </configuration>
      </plugin>

Adding a ProGuard plugin for obfuscation

You can choose to obfuscate the class files of the LuciadLightspeed API when you deploy your application. You can achieve this by adding the following plugin configuration that will perform the obfuscation step.

Program: Adding a ProGuard plugin
      <plugin>
        <groupId>com.github.wvengen</groupId>
        <artifactId>proguard-maven-plugin</artifactId>
        <version>${proguard.plugin.version}</version>
        <executions>
          <execution>
            <id>proguard</id>
            <phase>package</phase>
            <goals>
              <goal>proguard</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <proguardVersion>${proguard.base.version}</proguardVersion>
          <proguardInclude>src/proguard/sampleproject.pro</proguardInclude>
          <outjar>obfuscated/</outjar>
          <libs>
            <lib>${java.home}/jmods</lib>
            <lib>${openjfx.home}/jmods</lib>
          </libs>
          <assembly>
            <inclusions>
              <inclusion>
                <groupId>com.luciad</groupId>
                <artifactId>*</artifactId>
                <filter>!**.pom</filter>
              </inclusion>
            </inclusions>
          </assembly>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.guardsquare</groupId>
            <artifactId>proguard-base</artifactId>
            <version>${proguard.base.version}</version>
            <scope>runtime</scope>
          </dependency>
          <dependency>
            <groupId>com.guardsquare</groupId>
            <artifactId>proguard-core</artifactId>
            <version>${proguard.core.version}</version>
            <scope>runtime</scope>
          </dependency>
        </dependencies>
      </plugin>

This configuration includes the ProGuard configuration file src/proguard/sampleproject.lightspeed.pro from your Maven project root. This file includes the ProGuard configuration files build/proguard/luciadlightspeed.pro and build/proguard/lucy_end_user.pro of your LuciadLightspeed release. You can also add any custom ProGuard configuration to this file. You could exclude your own code from obfuscation, for example.

Program: ProGuard configuration
# Include Lightspeed ProGuard configuration
-include luciadlightspeed.pro
# Include Lucy ProGuard configuration
-include lucy_end_user.pro
# Include the samples ProGuard configuration if you intend to compile the samples
# -include samples.pro


# Keep your own code.
# -keep class com.example.** {
#  public protected private *;
# }

Adding an Assembly plugin

To package your application in an easily distributable archive, you can add the following Assembly plugin to your project’s pom.xml.

Program: Adding an Assembly plugin
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
          <tarLongFileMode>posix</tarLongFileMode>
          <descriptors>
            <descriptor>src/assembly/lightspeed.app.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>package-deliverable</id>
            <goals>
              <goal>single</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>

This configuration includes the descriptor src/assembly/lightspeed.app.xml from your Maven project root. This file describes that the application must be packaged into a zip archive. It lists a number of static file dependencies (fileSets) and Java library dependencies (dependencySets) that must be included in the zip.

Expand this section to view the example assembly descriptor file

Program: Assembly descriptor
<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">

  <id>app</id>

  <formats>
    <format>zip</format>
  </formats>

  <includeBaseDirectory>true</includeBaseDirectory>

  <fileSets>
    <fileSet>
      <!-- This folder should contain all files contained in the config folder of your LuciadLightspeed release. -->
      <directory>src/main/resources/config</directory>
      <outputDirectory>config</outputDirectory>
      <fileMode>0644</fileMode>
    </fileSet>
    <fileSet>
      <!-- This folder should contain a script file that allows to easily start running Lucy MapCentric. -->
      <directory>src/main/resources/scripts</directory>
      <outputDirectory/>
      <fileMode>0755</fileMode>
    </fileSet>
    <fileSet>
      <!-- This folder should contain all obfuscated libraries resulting from the obfuscation step. This folder is configured in the Proguard plugin. -->
      <directory>target/obfuscated</directory>
      <outputDirectory>lib</outputDirectory>
    </fileSet>
  </fileSets>

  <dependencySets>
    <dependencySet>
      <useStrictFiltering>false</useStrictFiltering>
      <useProjectArtifact>false</useProjectArtifact>
      <scope>compile</scope>
      <includes>
        <include>*:jar:*</include>
      </includes>
      <excludes>
        <!-- Exclude the unobfuscated versions the dependencies that get obfuscated. The obfuscated version will be included in the runtime dependencySet. -->
        <exclude>com.luciad:*</exclude>
      </excludes>
      <outputDirectory>lib</outputDirectory>
    </dependencySet>
    <dependencySet>
      <useStrictFiltering>false</useStrictFiltering>
      <scope>runtime</scope>
      <includes>
        <include>*:jar:*</include>
      </includes>
      <outputDirectory>lib</outputDirectory>
    </dependencySet>
  </dependencySets>
</assembly>

This assembly descriptor assumes that your application launch scripts are located in the directory src/main/resources/scripts of your Maven project. Here are some example script files that you can use to run Lucy MapCentric:

Expand this section to view the example batch script file

Program: A batch script used to run Lucy MapCentric
@echo off

REM memory limit
set JAVA_OPTS=%JAVA_OPTS% -Xmx2000m

REM rendering pipeline
set JAVA_OPTS=%JAVA_OPTS% -Dsun.java2d.opengl=false -Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false

REM drawing quality
set JAVA_OPTS=%JAVA_OPTS% -Dsun.awt.noerasebackground=true -Dswing.aatext=true

REM network connectivity
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.useSystemProxies=true

REM user language
set JAVA_OPTS=%JAVA_OPTS% -Duser.language=en

REM launch application
start javaw %JAVA_OPTS% -cp config;lib\* samples.lucy.frontend.mapcentric.Main

@echo on

Expand this section to view the example bash script file

Program: A shell script used to run Lucy MapCentric
#!/bin/sh

# memory limits and garbage collection settings
JAVA_OPTS="$JAVA_OPTS -Xmx2000m"

# rendering pipeline
JAVA_OPTS="$JAVA_OPTS -Dsun.java2d.opengl=false -Dsun.java2d.noddraw=true  -Dsun.java2d.d3d=false"

# drawing quality
JAVA_OPTS="$JAVA_OPTS -Dsun.awt.noerasebackground=true -Dswing.aatext=true"

# network connectivity
JAVA_OPTS="$JAVA_OPTS -Djava.net.useSystemProxies=true"

# improve debugging behavior
JAVA_OPTS="$JAVA_OPTS -Dsun.awt.disablegrab=true"

# user language
JAVA_OPTS="$JAVA_OPTS -Duser.language=en"

java $JAVA_OPTS -cp config:lib/* samples.lucy.frontend.mapcentric.Main

Setting up the sample project

The build/maven directory also contains the script files setup-sample-project.bat and setup-sample-project.sh. If you run one of these scripts, it sets up a sample Maven project in the directory build/maven/sampleProject of your LuciadLightspeed release. This directory contains all sample source and resource files present in your release, and a pom.xml file configured to depend on all Luciad components present in your release.

It is required to have NodeJS installed in order to run the sample setup script.

In the sample project directory:

  1. Run the command mvn compile to compile all samples.

  2. Run mvn exec:exec to start Lucy MapCentric.

  3. Run mvn package to generate a zip file containing all files necessary to run your application.

To use the settings.xml file in the sample project, you need to run the Maven commands above with the --settings settings.xml parameter.

Example POM file

This is a complete example of a pom.xml file for a project that depends on LuciadLightspeed Pro.

Expand this section to view the example POM file

Program: A complete example POM file
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.yourcompany</groupId>
  <artifactId>sample-project</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>sample-project</name>
  <url>http://maven.apache.org</url>
  <repositories>
    <repository>
      <id>luciad-repo</id>
      <name>Luciad Maven Repository</name>
      <url>yourCompanyUrl</url>
    </repository>
    <repository>
      <id>mvn-central</id>
      <name>Maven Central Repository</name>
      <layout>default</layout>
      <url>https://repo1.maven.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  <properties>
    <luciad.version>2024.0</luciad.version>
    <luciad.license.version>2024.0-20240515</luciad.license.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <proguard.plugin.version>2.6.0</proguard.plugin.version>
    <proguard.base.version>7.4.1</proguard.base.version>
    <proguard.core.version>9.1.1</proguard.core.version>
  </properties>
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>17</source>
          <target>17</target>
          <fork>true</fork>
          <encoding>UTF-8</encoding>
          <meminitial>512m</meminitial>
          <maxmem>2048m</maxmem>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <goals>
              <goal>exec</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <executable>java</executable>
          <longClasspath>true</longClasspath>
          <arguments>
            <argument>-Djava.net.useSystemProxies=true</argument>
            <argument>-Dsun.awt.noerasebackground=true</argument>
            <argument>-Dsun.java2d.opengl=false</argument>
            <argument>-Dswing.aatext=true</argument>
            <argument>-Dsun.java2d.d3d=false</argument>
            <argument>-Djava.library.path=</argument>
            <argument>-Xmx2g</argument>
            <argument>-classpath</argument>
            <classpath/>
            <argument>samples.lucy.frontend.mapcentric.Main</argument>
          </arguments>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.wvengen</groupId>
        <artifactId>proguard-maven-plugin</artifactId>
        <version>${proguard.plugin.version}</version>
        <executions>
          <execution>
            <id>proguard</id>
            <phase>package</phase>
            <goals>
              <goal>proguard</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <proguardVersion>${proguard.base.version}</proguardVersion>
          <proguardInclude>src/proguard/sampleproject.pro</proguardInclude>
          <outjar>obfuscated/</outjar>
          <libs>
            <lib>${java.home}/jmods</lib>
            <lib>${openjfx.home}/jmods</lib>
          </libs>
          <assembly>
            <inclusions>
              <inclusion>
                <groupId>com.luciad</groupId>
                <artifactId>*</artifactId>
                <filter>!**.pom</filter>
              </inclusion>
            </inclusions>
          </assembly>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.guardsquare</groupId>
            <artifactId>proguard-base</artifactId>
            <version>${proguard.base.version}</version>
            <scope>runtime</scope>
          </dependency>
          <dependency>
            <groupId>com.guardsquare</groupId>
            <artifactId>proguard-core</artifactId>
            <version>${proguard.core.version}</version>
            <scope>runtime</scope>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
          <tarLongFileMode>posix</tarLongFileMode>
          <descriptors>
            <descriptor>src/assembly/lightspeed.app.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>package-deliverable</id>
            <goals>
              <goal>single</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.luciad</groupId>
        <artifactId>luciadlightspeed-bom</artifactId>
        <version>${luciad.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_pro</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>com.yourcompany</groupId>
      <artifactId>luciadlightspeed_deployment_license</artifactId>
      <version>${luciad.license.version}</version>
    </dependency>
    <!-- Dependencies required to compile the samples -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>3.2.1</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jcl</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.zaxxer</groupId>
      <artifactId>HikariCP</artifactId>
      <version>5.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-base</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-swing</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-controls</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-graphics</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-web</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-fxml</artifactId>
      <version>17</version>
    </dependency>
    <dependency>
      <groupId>org.openjfx</groupId>
      <artifactId>javafx-media</artifactId>
      <version>17</version>
    </dependency>
    <!-- Optional components available for Advanced and Pro Tiers -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_database_connectors</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_google_earth_enterprise</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_graph_and_routing_engine</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_ogc_server</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_terrain_analysis_engine</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_weather_environment_standards</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!-- Optional components available for Pro Tier only -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_aviation_standards</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_defense_standards</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_defense_symbology</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_infrastructure_standards</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_maritime_standards</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_radar_connectors</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
    <!--
    <dependency>
      <groupId>com.luciad</groupId>
      <artifactId>luciadlightspeed_s63</artifactId>
      <version>${luciad.version}</version>
      <type>pom</type>
    </dependency>
    -->
  </dependencies>
</project>