[ https://issues.apache.org/jira/browse/SIS-545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux updated SIS-545: ------------------------------------ Description: Some examples documented in the web site do not work unless optional dependencies are manually installed. For example with the metadata example given in the [command-line|https://sis.apache.org/command-line.html] page, adding the {{--format xml}} option causes the following error: {noformat} Implementation of JAXB-API has not been found on module path or classpath. Causée par ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory {noformat} The error can be fixed by running the following commands: {code:bash} cd lib/ wget https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.6/jaxb-runtime-2.3.6.jar wget https://repo1.maven.org/maven2/com/sun/istack/istack-commons-runtime/3.0.12/istack-commons-runtime-3.0.12.jar {code} Likewise, UCAR dependencies can be downloaded as below: {code:bash} cd lib/ wget https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/cdm-core/5.5.3/cdm-core-5.5.3.jar wget https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/udunits/5.5.3/udunits-5.5.3.jar wget https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/httpservices/5.5.3/httpservices-5.5.3.jar wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar wget https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar wget https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpmime/4.5.13/httpmime-4.5.13.jar wget https://repo1.maven.org/maven2/com/beust/jcommander/1.78/jcommander-1.78.jar wget https://repo1.maven.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-jre.jar wget https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar wget https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar wget https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.jar wget https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar wget https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar wget https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.19.3/protobuf-java-3.19.3.jar wget https://repo1.maven.org/maven2/com/google/re2j/re2j/1.3/re2j-1.3.jar wget https://repo1.maven.org/maven2/joda-time/joda-time/2.10.3/joda-time-2.10.3.jar wget https://repo1.maven.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar wget https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28.jar wget https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar {code} We should add a mechanism in Apabe SIS command-line and JavaFX applications for offering to download those dependencies automatically when first required. The combined size of above dependencies is about 1 Mb. It is not very big, so we could have included those dependencies in SIS binary distribution. But the same mechanism could be applied to UCAR netCDF and to Amazon SDK dependencies too, which are much bigger. was: Some examples documented in the web site do not work unless optional dependencies are manually installed. For example with the metadata example given in the [command-line|https://sis.apache.org/command-line.html] page, adding the {{--format xml}} option causes the following error: {noformat} Implementation of JAXB-API has not been found on module path or classpath. Causée par ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory {noformat} The error can be fixed by running the following commands: {code:bash} cd binaries/ wget https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.6/jaxb-runtime-2.3.6.jar wget https://repo1.maven.org/maven2/com/sun/istack/istack-commons-runtime/3.0.12/istack-commons-runtime-3.0.12.jar {code} We should add a mechanism in Apabe SIS command-line and JavaFX applications for offering to download those dependencies automatically when first required. The combined size of above dependencies is about 1 Mb. It is not very big, so we could have included those dependencies in SIS binary distribution. But the same mechanism could be applied to UCAR netCDF and to Amazon SDK dependencies too, which are much bigger. > Automatic download of optional dependencies > ------------------------------------------- > > Key: SIS-545 > URL: https://issues.apache.org/jira/browse/SIS-545 > Project: Spatial Information Systems > Issue Type: Improvement > Components: Command line, GUI > Affects Versions: 1.2 > Reporter: Martin Desruisseaux > Priority: Major > Fix For: 1.5 > > > Some examples documented in the web site do not work unless optional > dependencies are manually installed. For example with the metadata example > given in the [command-line|https://sis.apache.org/command-line.html] page, > adding the {{--format xml}} option causes the following error: > {noformat} > Implementation of JAXB-API has not been found on module path or classpath. > Causée par ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory > {noformat} > The error can be fixed by running the following commands: > {code:bash} > cd lib/ > wget > https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.6/jaxb-runtime-2.3.6.jar > wget > https://repo1.maven.org/maven2/com/sun/istack/istack-commons-runtime/3.0.12/istack-commons-runtime-3.0.12.jar > {code} > Likewise, UCAR dependencies can be downloaded as below: > {code:bash} > cd lib/ > wget > https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/cdm-core/5.5.3/cdm-core-5.5.3.jar > wget > https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/udunits/5.5.3/udunits-5.5.3.jar > wget > https://artifacts.unidata.ucar.edu/repository/unidata-releases/edu/ucar/httpservices/5.5.3/httpservices-5.5.3.jar > wget > https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar > wget > https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar > wget > https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar > wget > https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar > wget > https://repo1.maven.org/maven2/org/apache/httpcomponents/httpmime/4.5.13/httpmime-4.5.13.jar > wget > https://repo1.maven.org/maven2/com/beust/jcommander/1.78/jcommander-1.78.jar > wget > https://repo1.maven.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-jre.jar > wget > https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar > wget > https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar > wget > https://repo1.maven.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.jar > wget > https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar > wget > https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar > wget > https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.19.3/protobuf-java-3.19.3.jar > wget https://repo1.maven.org/maven2/com/google/re2j/re2j/1.3/re2j-1.3.jar > wget > https://repo1.maven.org/maven2/joda-time/joda-time/2.10.3/joda-time-2.10.3.jar > wget https://repo1.maven.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar > wget > https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28.jar > wget > https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar > {code} > We should add a mechanism in Apabe SIS command-line and JavaFX applications > for offering to download those dependencies automatically when first required. > The combined size of above dependencies is about 1 Mb. It is not very big, so > we could have included those dependencies in SIS binary distribution. But the > same mechanism could be applied to UCAR netCDF and to Amazon SDK dependencies > too, which are much bigger. -- This message was sent by Atlassian Jira (v8.20.10#820010)