[netcdf-java] Zarr(!) null pointer

I am again trying to use netcdf modules instead of netcdfAll.
I need to use modules because you have stopped producing netcdfAll for new
versions.
I am using the new v5.5.3.
I included the cdm-zarr module in my pom.xml file because I would like to
try it someday and because I want to include as many file-read options as
possible.
I checked: cdm-zarr-5.5.3.jar is in my /lib directory after Maven builds
the project.
mvn compile throws no errors.
mvn dependency:analyze throws no errors and says I'm not missing
dependencies, but that I have a few unreferenced classes (several are
netcdf-related).

Now, when I run my unit tests (which previously worked), this code

        String fileName = "/u00/data/viirs/MappedMonthly4km/m4.ncml";
        NetcdfFile nc = NetcdfDatasets.openDataset(fileName);

throws this exception:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because "location" is null
        at
thredds.inventory.zarr.MFileZip$Provider.canProvide(MFileZip.java:200)
        at thredds.inventory.MFiles.create(MFiles.java:37)
        at ucar.nc2.internal.ncml.AggDataset.<init>(AggDataset.java:74)
        at
ucar.nc2.internal.ncml.Aggregation.makeDataset(Aggregation.java:453)
        at
ucar.nc2.internal.ncml.Aggregation.addExplicitDataset(Aggregation.java:136)
        at ucar.nc2.internal.ncml.NcmlReader.readAgg(NcmlReader.java:1476)
        at ucar.nc2.internal.ncml.NcmlReader.readNetcdf(NcmlReader.java:521)
        at ucar.nc2.internal.ncml.NcmlReader.readNcml(NcmlReader.java:478)
        at ucar.nc2.internal.ncml.NcmlReader.readNcml(NcmlReader.java:397)
        at
ucar.nc2.internal.ncml.NcmlNetcdfFileProvider.open(NcmlNetcdfFileProvider.java:24)
        at
ucar.nc2.dataset.NetcdfDatasets.openProtocolOrFile(NetcdfDatasets.java:431)
        at
ucar.nc2.dataset.NetcdfDatasets.openDataset(NetcdfDatasets.java:152)
        at
ucar.nc2.dataset.NetcdfDatasets.openDataset(NetcdfDatasets.java:135)
        at
ucar.nc2.dataset.NetcdfDatasets.openDataset(NetcdfDatasets.java:118)
        at
ucar.nc2.dataset.NetcdfDatasets.openDataset(NetcdfDatasets.java:104)

even though the file is an .ncml file (attached) which references 2 hdf
files
V20120012012031.L3m_MO_NPP_CHL_chlor_a_4km
V20120322012060.L3m_MO_NPP_CHL_chlor_a_4km
which are pretty big, but you can download from
https://coastwatch.pfeg.noaa.gov/erddap/files/testMediaFiles/ProbablyDoNotWork/

The error message isn't helpful.
Why am I getting this error message even though there are no Zarr files
involved?

Or, do you have a pom.xml which includes what used to be in netcdfAll?
Perhaps I am missing some low level artifact.
My pom.xml is attached if that is helpful.

Thank you for looking into this.

Attachment: m4.ncml
Description: Binary data

<?xml version="1.0" encoding="UTF-8"?>
<!-- 

This is how Bob uses Maven for ERDDAP. 
Maven users will probably be mystified/horrified, 
but it works for me and does what I need it to do: 
  identify and gather all needed .jar dependencies
since this is impossible for AWS S3 dependencies without Maven.

* One time: Make a new Maven project/archetype: 
  cd \programs\mavenERDDAP
  mvn -B archetype:generate -DgroupId=gov.noaa.pfel.erddap -DartifactId=ERDDAP 
-DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4

* Copy Java source files from Tomcat/webapps/cwexperimental to Maven:
    With bash:
      cd /c/content/bat
      ./synchToMaven.sh

* Update ERDDAP version number below in ...
   <version>2.19-SNAPSHOT</version>

* Update the version numbers starting with <plugins> section.
  Website to search for maven plugins and dependencies: 
https://mvnrepository.com/ 

* Compile in Maven and gather dependency .jar files
  (pom.xml based on Kyle's pom from 
https://github.com/axiom-data-science/erddap )

  From DOS command line (or Bash) (after synchToMaven.sh has copied source 
files to Maven dir):
      //mvn -help 
      //add -e for full error messages
      //add -X for debug messages
      cd \programs\mavenERDDAP\ERDDAP   //that's where pom.xml is
      set "JAVA_HOME=C:\programs\jdk-17.0.3+7"      
      mvn clean               //removes previously generated .class files and 
...
      mvn compile             //uses javac.  Identifies missing 
dependencies/.jars.  
      mvn dependency:analyze  //Identifies excess or missing dependencies/.jars.
                              //  Expected: 
                              //    WARNINGS for netcdf-java -related edu.ucar 
classes.
                              //    WARNINGS for Cassandra dependencies:
                              //      slf4j, guava, lz4, metrics, netty, snappy.
      mvn package             //Creates a war in 
\programs\mavenERDDAP\ERDDAP\target
      (then copy netcdfAll-x.x.x.jar into /lib)

   or: mvn clean install -U   //clears out cached information (more thoroughly 
than 'clean') and does it all?
   
* Temporarily rename tomcat/webapps/cwexperimental/WEB-INF/lib to today's date: 
/libYYYYMMDD

* Move all .jar files 
    from inside 
C:\programs\mavenERDDAP\ERDDAP\target\ERDDAP-...-SNAPSHOT\WEB-INF\lib directory
    to   tomcat/webapps/cwexperimental/WEB-INF/lib
    The vast majority of .jars are from the AWS S3 dependency.

* Run TestAll. If passes all tests, delete temporary libYYYYMMDD directory.

-->
<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/xsd/maven-4.0.0.xsd";>
    <modelVersion>4.0.0</modelVersion>

    <groupId>gov.noaa.pfel.erddap</groupId>
    <artifactId>ERDDAP</artifactId>
    <version>2.19-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>erddap</name>
    <url>https://coastwatch.pfeg.noaa.gov/erddap/index.html</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <repositories>
        <!-- Published advice: 
https://docs.unidata.ucar.edu/netcdf-java/current/userguide/using_netcdf_java_artifacts.html
             Repository 
https://artifacts.unidata.ucar.edu/repository/unidata-all      (on web page)
                or      
https://artifacts.unidata.ucar.edu/repository/unidata-releases (privately)
              Browse either https://artifacts.unidata.ucar.edu/#browse/browse
             -->
        <repository>
            <id>unidata-all</id>   
            <name>UNIDATA All</name>
            
<url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url>
        </repository>
    </repositories>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.csv</include>
                    <include>**/*.tsv</include>
                    <include>**/*.txt</include>
                    <include>**/*.cpt</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>

                <!-- 
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin
 -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>
                <configuration>
                    <failOnError>true</failOnError>
                    <source>17</source>   <!-- java version -->
                    <target>17</target>
                    <excludes>
                        
<exclude>gov/noaa/pfel/coastwatch/sgt/LandMask.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/sgt/MapGraph.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/sgt/MapProj.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/sgt/GSHHSNewOnHold.java_NOT_YET</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/griddata/Grd.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/griddata/GridDataSetCWOpendap.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/griddata/GridDataSetPathfinder.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/griddata/WriteShapefile.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/pointdata/DigirIobisTDSP.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/pointdata/DigirObisTDSP.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/hdf/HdfWriter.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/coastwatch/HelloWorld.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromBinaryFile.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromMatFiles.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableCopyPost.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromBMDE.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromMWFS.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromNOS.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromNcSequenceFiles.javaNOT_FINISHED</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromNWISDV.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromPostDatabase.javaINACTIVE</exclude>
                        
<exclude>gov/noaa/pfel/erddap/dataset/EDDTableFromPostNcFiles.javaINACTIVE</exclude>
                        
                        
<exclude>gov/noaa/pfel/coastwatch/util/FileVisitorDNLS.javaOLD</exclude>

                    </excludes>
                </configuration>
            </plugin>

            <!-- 
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-war-plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>

            <!-- ??? 2022-07-06 5.5.3 does have netcdfAll. WHAT IS 
REPLACEMENT???
              
https://mvnrepository.com/artifact/com.googlecode.maven-download-plugin/download-maven-plugin
              This approach is from Jennifer Oxelson. See 
https://github.com/oxelson/netcdfAll/blob/main/pom.xml 
              I think this isn't needed/doesn't work(?). 
              Instead, just download netcdfAll 
                from 
https://artifacts.unidata.ucar.edu/#browse/browse:downloads-netcdf-java
                to c:/programs/mavenERDDAP/ERDDAP/external_libs/
            - ->
            <plugin>
                <groupId>com.googlecode.maven-download-plugin</groupId>
                <artifactId>download-maven-plugin</artifactId>
                <version>1.6.8</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>wget</goal>
                        </goals>
                        <configuration>
                            
<url>https://artifacts.unidata.ucar.edu/repository/downloads-netcdf-java/5.5.2/netcdfAll-5.5.2.jar</url>
                            <outputFileName>netcdfAll-5.5.2.jar</outputFileName>
                            
<outputDirectory>${project.basedir}/external_libs</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin> -->
        </plugins>
        <pluginManagement>
          <plugins>
                <!-- 
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-resources-plugin
 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <!-- 
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-dependency-plugin
 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <!-- 
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin
 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                </plugin>
                <!-- 
https://mvnrepository.com/artifact/org.apache.maven.plugins/surefire-junit4 -->
                <plugin>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit4</artifactId>
                    <version>2.19.1</version>
                </plugin>
                <!-- 
https://mvnrepository.com/artifact/org.codehaus.plexus/plexus-utils -->
                <plugin>
                    <groupId>org.codehaus.plexus</groupId>
                    <artifactId>plexus-utils</artifactId>
                    <version>3.4.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencyManagement>
        <dependencies>

            <!-- https://mvnrepository.com/artifact/software.amazon.awssdk/bom 
                 Parent for reading/writing to AWS S3. -->
            <dependency>
              <groupId>software.amazon.awssdk</groupId>
              <artifactId>bom</artifactId>
              <version>2.17.224</version> <!-- and same number several places 
below -->
              <type>pom</type>
              <scope>import</scope>
            </dependency>
        </dependencies>

    </dependencyManagement>

    <dependencies>

        <!-- 
https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api  -->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>provided</scope>
            <!-- Tomcat8 needed this. Tomcat10 doesn't allow it.
            <configuration>
                <port>8081</port>
                <path>/erddap</path>
            </configuration -->
        </dependency> 


        <!-- https://mvnrepository.com/artifact/junit/junit
             There are newer versions with different domain name, but cause 
trouble with dependency checking. 
             For testing (by Kyle? Maven?). -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>

        <!-- Kyle had this: 
             https://mvnrepository.com/artifact/org.apache.ant/ant 
        <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.10.9</version>
        </dependency>   -->


        <!-- https://mvnrepository.com/artifact/gnu-regexp/gnu-regexp
             This is needed for dods.dap code I wasn't compiling but Maven 
does.  
             'provided' lets it compile here but then doesn't include the .jar 
in /lib in .war.
             -->
        <dependency>
            <groupId>gnu-regexp</groupId>
            <artifactId>gnu-regexp</artifactId>
            <version>1.1.4</version>
            <scope>provided</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/gnu.getopt/java-getopt
             This is needed for dods.dap code I wasn't compiling but Maven 
does.  
             'provided' lets it compile here but then doesn't include the .jar 
in /lib in .war.
              -->
        <dependency>
            <groupId>gnu.getopt</groupId>
            <artifactId>java-getopt</artifactId>
            <version>1.0.13</version>
            <scope>provided</scope>
        </dependency> 

        <!-- https://mvnrepository.com/artifact/com.lowagie/itext 
             This is the pdf writer.
             Newer version is available, but license now gpl! So stick to 1.3.1
             -->
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!-- Kyle had this: 
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.3</version>
        </dependency-->

        <!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core 
             The Lucene search option uses this. 
             2021-12-16 WARNING: Lucene 9.0.0 is available but requires Java 
11(?). -->
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>9.2.0</version>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/org.apache.lucene/lucene-queryparser 
             The Lucene search option uses this. -->
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-queryparser</artifactId>
            <version>9.2.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.json/json 
             This is the JSON reader. -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20220320</version>
        </dependency>

        <!-- I have private copy of source code in with my code.
             2020-12-21 I tried to remove my copy and use this, but failed.
             https://mvnrepository.com/artifact/org.jdom/jdom 
        <dependency>
            <groupId>org.jdom</groupId>
            <artifactId>jdom</artifactId>
            <version>2.0.2</version>
        </dependency-->

        <!-- Kyle had this: 
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency-->

        <!-- Kyle had this: 
        <dependency>
            <groupId>atg.taglib.json</groupId>
            <artifactId>json-taglib</artifactId>
            <version>0.4.1</version>
        </dependency-->

        <!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail 
             Used to send emails. -->
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>2.0.1</version>
        </dependency>

        <!-- versions: 
https://mvnrepository.com/artifact/commons-codec/commons-codec
             dependency:analyze says it's needed. -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.15</version>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/org.apache.commons/commons-compress 
             File2 and EDDTableFromNcFiles use this. -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-compress</artifactId>
            <version>1.21</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging
             dependency:analyze says it's needed. 
             Maven says 1.2's dependencies have 4 vulnerabilities, but all are 
old log4j vulnerabilities,
               so ERDDAP admins shouldn't use old log4j (or any log4j). -->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/jaxen/jaxen 
             org.jdom.xpath code uses this. -->
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.2.0</version>
        </dependency>

        <!-- Published advice 
https://docs.unidata.ucar.edu/netcdf-java/current/userguide/using_netcdf_java_artifacts.html
 
           and Jan 24, 2022 email from Jennifer Oxelson Ganter
           and a set of runtime modules from 
https://docs.unidata.ucar.edu/netcdf-java/current/userguide/file_types.html 
          To figure out which module has a given class, Google, e.g.: github 
netcdf-java ucar nc2 geotiff GeotiffWriter 

          Browse repository (probably unidata-all): 
https://artifacts.unidata.ucar.edu/#browse/browse
          -->

        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fbufr 
-->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>bufr</artifactId>
            <version>5.5.3</version>  <!-- this number duplicated many times 
below -->
            <scope>runtime</scope>  
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-core
  
             Fundamental! 
             Has ucar.nc2.Variable and Variable.Builder (and other builders).
             Has ucar.nc2.ncml.NcmlReader, Aggregation, AggregationExisting, 
AggregationFmrc, AggregationOuterDimension, 
               AggregationUnion, etc-->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-core</artifactId>
            <version>5.5.3</version>
            <scope>compile</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-image
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-image</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency>
       <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-mcidas
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-mcidas</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-misc
  
             Has ucar.nc2.geotiff. -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-misc</artifactId> 
            <version>5.5.3</version>
            <scope>compile</scope>  
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-radial
  
             probably not needed-->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-radial</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-vis5d
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-vis5d</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fcdm-zarr
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>cdm-zarr</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency> 
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fclcommon
 
             Referenced in Jennifer's email. Has ucar.nc2.dt.image... and some 
ucar.nc2.iosp... 
             But I distrust artifacts with version=5.1.0. - ->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>clcommon</artifactId>
            <version>5.1.0</version>
            <scope>compile</scope>
        </dependency> -->
        <!-- d4* is probably dap4: not needed -->        
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fgrib 
 -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>grib</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fhttpservices
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>httpservices</artifactId>
            <version>5.5.3</version>
            <scope>compile</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Flegacy
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>legacy</artifactId>
            <version>5.5.3</version>
            <scope>compile</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fnetcdf
  doesn't have 5.x -->
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fnetcdf-java
  doesn't have 5.5.3+ -->
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fnetcdf4
 
             This is for writing netcdf4 files with linked C library. -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>netcdf4</artifactId>
            <version>5.5.3</version>
            <scope>runtime</scope>
        </dependency> 
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fopendap
  -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>opendap</artifactId>
            <version>5.5.3</version>
            <scope>compile</scope>
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fucar%2Fudunits
 
             Marked as needed by dependency:analyze -->
        <dependency>
            <groupId>edu.ucar</groupId>
            <artifactId>udunits</artifactId>
            <version>5.5.3</version>
            <scope>compile</scope> 
        </dependency>
        <!-- Version options: 
https://artifacts.unidata.ucar.edu/#browse/browse:unidata-all:edu%2Fwisc%2Fssec%2Fvisad
  
             Marked as needed by dependency:analyze -->
        <dependency>
            <groupId>edu.wisc.ssec</groupId>
            <artifactId>visad</artifactId>
            <version>2.0-20191209</version>
            <scope>runtime</scope>
        </dependency>


        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple
             2021-12-21: I think it is needed.
             WAS: NO LONGER NEEDED! It's in netcdf-all.jar  
             and something else gets slf4j-api-...jar -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.36</version>
            <scope>runtime</scope>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/org.apache.commons/commons-jexl3 
             This is the expression parser/processor used by EDDTableFromFiles 
Derived Variables. -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-jexl3</artifactId>
            <version>3.2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql 
             Postgresql users use this. I include for their convenience. -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.4.0</version>
        </dependency>



        <!-- CASSANDRA 
             
https://mvnrepository.com/artifact/com.datastax.cassandra/cassandra-driver-core 
             Cassandra uses this. -->
        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-core</artifactId>
            <version>3.11.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.google.guava/guava 
             Cassandra driver uses this. -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>31.1-jre</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/net.jpountz.lz4/lz4 
             Cassandra uses this. C* still refers to this older version from 
older domain. -->
        <dependency>
            <groupId>net.jpountz.lz4</groupId>
            <artifactId>lz4</artifactId>
            <version>1.3.0</version>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/io.dropwizard.metrics/metrics-core 
             Cassandra uses this.  -->
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-core</artifactId>
            <version>4.2.10</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.netty/netty-all 
             Cassandra uses this. -->
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.78.Final</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java 
             Cassandra uses this. -->
        <dependency>
            <groupId>org.xerial.snappy</groupId>
            <artifactId>snappy-java</artifactId>
            <version>1.1.8.4</version>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/io.dropwizard.metrics/metrics-jmx 
            2021-01-25 Tried: To deal with java.lang.NoClassDefFoundError: 
com/codahale/metrics/JmxReporter
            But now "metrics" option is always set to false.
            See EDDTableFromCassandra references to JmxReporter.
            See 
https://docs.datastax.com/en/developer/java-driver/3.5/manual/metrics/#metrics-4-compatibility
            
            and need for Cluster.builder().withoutJMXReporting()
            which is probably a workable solution.           
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-jmx</artifactId>
            <version>4.2.5</version>
        </dependency -->


        <!-- AWS
             https://mvnrepository.com/artifact/software.amazon.awssdk/s3 
             This is the core AWS SDK code. 
             See awssdk/bom in <dependencyManagement> section above. -->
        <dependency>
          <groupId>software.amazon.awssdk</groupId>
          <artifactId>s3</artifactId>
          <version>2.17.224</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/software.amazon.awssdk/regions 
            This is the AWS code for Regions. -->
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>regions</artifactId>
            <version>2.17.224</version>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/software.amazon.awssdk/s3-transfer-manager
            This is the AWS code for TransferManager. -->      
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>s3-transfer-manager</artifactId>
            <version>2.17.224-PREVIEW</version>
        </dependency>


        <!-- 
https://mvnrepository.com/artifact/com.google.cloud/google-cloud-translate -->
        <!-- Added by Qi for translation purpose -->
        <!-- WARNING:
             2022-02-07 2.1.10 caused a timeout error. Revert to 2.1.7 again.
             2021-12-22 2.1.8 caused:   Exception in thread 
"grpc-default-executor-0" java.lang.NoSuchMethodError: 
             
com.google.protobuf.GeneratedMessageV3.isStringEmpty(Ljava/lang/Object;)Z
             so revert to 2.1.7 for now -->
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-translate</artifactId>
            <version>2.3.0</version>
        </dependency>

        <!-- 
https://mvnrepository.com/artifact/com.google.api.grpc/proto-google-cloud-translate-v3
 -->
        <!-- Added by Bob for translation project -->
        <!-- WARNING:
             2022-02-07 2.1.10 caused a timeout error. Revert to 2.1.7 again.
             2021-12-22 2.1.8 caused:   Exception in thread 
"grpc-default-executor-0" java.lang.NoSuchMethodError: 
             
com.google.protobuf.GeneratedMessageV3.isStringEmpty(Ljava/lang/Object;)Z
             so revert to 2.1.7 for now -->
        <dependency>
            <groupId>com.google.api.grpc</groupId>
            <artifactId>proto-google-cloud-translate-v3</artifactId>
            <version>2.3.0</version>
        </dependency>
        <!-- 
https://mvnrepository.com/artifact/com.google.auth/google-auth-library-oauth2-http
 -->
        <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-oauth2-http</artifactId>
            <version>1.8.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.api/gax -->
        <dependency>
            <groupId>com.google.api</groupId>
            <artifactId>gax</artifactId>
            <version>2.18.3</version>
        </dependency>

    </dependencies>
</project>
  • 2022 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: