[ 
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)

Reply via email to