This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 3755cb816ab8cf5d629c434bada8df5cfb81633a Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Sat Dec 10 15:56:32 2022 +0100 Move JavaEE 8 dependency to `sis-webapp` module. Update links to Java 8 documentation. Update NetBeans project configuration. --- application/sis-webapp/pom.xml | 2 ++ .../org/apache/sis/services}/ServletListener.java | 8 +++---- core/sis-utility/pom.xml | 4 ---- .../apache/sis/internal/system/OSGiActivator.java | 3 --- .../java/org/apache/sis/setup/GeometryLibrary.java | 2 -- ide-project/NetBeans/nbproject/build-impl.xml | 25 +++++++--------------- ide-project/NetBeans/nbproject/genfiles.properties | 6 +++--- ide-project/NetBeans/nbproject/project.properties | 7 ++---- ide-project/NetBeans/nbproject/project.xml | 1 - pom.xml | 8 +------ 10 files changed, 19 insertions(+), 47 deletions(-) diff --git a/application/sis-webapp/pom.xml b/application/sis-webapp/pom.xml index 1a8ab8114e..c59f243964 100644 --- a/application/sis-webapp/pom.xml +++ b/application/sis-webapp/pom.xml @@ -41,6 +41,8 @@ <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> + <version>8.0.1</version> + <scope>provided</scope> </dependency> </dependencies> diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/system/ServletListener.java b/application/sis-webapp/src/main/java/org/apache/sis/services/ServletListener.java similarity index 95% rename from core/sis-utility/src/main/java/org/apache/sis/internal/system/ServletListener.java rename to application/sis-webapp/src/main/java/org/apache/sis/services/ServletListener.java index a6ffb485a5..9fb0f93c88 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/internal/system/ServletListener.java +++ b/application/sis-webapp/src/main/java/org/apache/sis/services/ServletListener.java @@ -14,11 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.sis.internal.system; +package org.apache.sis.services; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; +import org.apache.sis.internal.system.Shutdown; /** @@ -27,10 +28,7 @@ import javax.servlet.annotation.WebListener; * * @author Martin Desruisseaux (Geomatys) * @version 0.7 - * - * @see OSGiActivator - * - * @since 0.3 + * @since 0.3 * @module */ @WebListener("Apache SIS shutdown hook") diff --git a/core/sis-utility/pom.xml b/core/sis-utility/pom.xml index 95590b6fe4..e314d97b1a 100644 --- a/core/sis-utility/pom.xml +++ b/core/sis-utility/pom.xml @@ -146,10 +146,6 @@ <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> </dependency> - <dependency> - <groupId>javax</groupId> - <artifactId>javaee-api</artifactId> - </dependency> </dependencies> </project> diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/system/OSGiActivator.java b/core/sis-utility/src/main/java/org/apache/sis/internal/system/OSGiActivator.java index 9aeae85fb5..1c8f9a83f7 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/internal/system/OSGiActivator.java +++ b/core/sis-utility/src/main/java/org/apache/sis/internal/system/OSGiActivator.java @@ -29,9 +29,6 @@ import org.osgi.framework.BundleListener; * * @author Martin Desruisseaux (Geomatys) * @version 0.7 - * - * @see ServletListener - * * @since 0.3 * @module */ diff --git a/core/sis-utility/src/main/java/org/apache/sis/setup/GeometryLibrary.java b/core/sis-utility/src/main/java/org/apache/sis/setup/GeometryLibrary.java index 53f1624726..eb8c593ba9 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/setup/GeometryLibrary.java +++ b/core/sis-utility/src/main/java/org/apache/sis/setup/GeometryLibrary.java @@ -52,8 +52,6 @@ public enum GeometryLibrary { * * Note that contrarily to JTS and ESRI libraries, * a point does not extend any root geometry class in Java2D. - * - * @see <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/2d/index.html">Java2D home page</a> */ JAVA2D, diff --git a/ide-project/NetBeans/nbproject/build-impl.xml b/ide-project/NetBeans/nbproject/build-impl.xml index 26f5723df3..76bd35adae 100644 --- a/ide-project/NetBeans/nbproject/build-impl.xml +++ b/ide-project/NetBeans/nbproject/build-impl.xml @@ -90,7 +90,7 @@ is divided into following sections: </not> </condition> </fail> - <j2seproject3:modulename property="module.name" sourcepath="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}"/> + <j2seproject3:modulename property="module.name" sourcepath="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}"/> <condition property="named.module.internal"> <and> <isset property="module.name"/> @@ -203,7 +203,6 @@ is divided into following sections: <or> <available file="${src.local-src.dir}"/> <available file="${src.javafx.dir}"/> - <available file="${src.webapp.dir}"/> <available file="${src.console.dir}"/> <available file="${src.portrayal.dir}"/> <available file="${src.earth-obs.dir}"/> @@ -324,7 +323,6 @@ is divided into following sections: <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check"> <fail unless="src.local-src.dir">Must set src.local-src.dir</fail> <fail unless="src.javafx.dir">Must set src.javafx.dir</fail> - <fail unless="src.webapp.dir">Must set src.webapp.dir</fail> <fail unless="src.console.dir">Must set src.console.dir</fail> <fail unless="src.portrayal.dir">Must set src.portrayal.dir</fail> <fail unless="src.earth-obs.dir">Must set src.earth-obs.dir</fail> @@ -378,7 +376,7 @@ is divided into following sections: </target> <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="modules.supported.internal" name="-init-macrodef-javac-with-module"> <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> + <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> <attribute default="${build.classes.dir}" name="destdir"/> <attribute default="${javac.classpath}" name="classpath"/> <attribute default="${javac.modulepath}" name="modulepath"/> @@ -390,7 +388,7 @@ is divided into following sections: <attribute default="${excludes}" name="excludes"/> <attribute default="${javac.debug}" name="debug"/> <attribute default="${empty.dir}" name="sourcepath" unless:set="named.module.internal"/> - <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" if:set="named.module.internal" name="sourcepath"/> + <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" if:set="named.module.internal" name="sourcepath"/> <attribute default="${empty.dir}" name="gensrcdir"/> <element name="customize" optional="true"/> <sequential> @@ -445,7 +443,7 @@ is divided into following sections: </target> <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors" unless="modules.supported.internal"> <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> + <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> <attribute default="${build.classes.dir}" name="destdir"/> <attribute default="${javac.classpath}" name="classpath"/> <attribute default="${javac.modulepath}" name="modulepath"/> @@ -488,7 +486,7 @@ is divided into following sections: </target> <target depends="-init-ap-cmdline-properties,-init-source-module-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> + <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> <attribute default="${build.classes.dir}" name="destdir"/> <attribute default="${javac.classpath}" name="classpath"/> <attribute default="${javac.modulepath}" name="modulepath"/> @@ -523,7 +521,7 @@ is divided into following sections: </target> <target depends="-init-macrodef-javac-with-module,-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> + <attribute default="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}" name="srcdir"/> <attribute default="${build.classes.dir}" name="destdir"/> <attribute default="${javac.classpath}" name="classpath"/> <sequential> @@ -1263,14 +1261,13 @@ is divided into following sections: <include name="*"/> </dirset> </pathconvert> - <j2seproject3:depend srcdir="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}:${build.generated.subdirs}"/> + <j2seproject3:depend srcdir="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-profile.dir}:${build.generated.subdirs}"/> </target> <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> <copy todir="${build.classes.dir}"> <fileset dir="${src.local-src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> <fileset dir="${src.javafx.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> - <fileset dir="${src.webapp.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> <fileset dir="${src.console.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> <fileset dir="${src.portrayal.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> <fileset dir="${src.earth-obs.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> @@ -1307,7 +1304,7 @@ is divided into following sections: <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> <j2seproject3:force-recompile/> - <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java" sourcepath="${src.local-src.dir}:${src.javafx.dir}:${src.webapp.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile. [...] + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java" sourcepath="${src.local-src.dir}:${src.javafx.dir}:${src.console.dir}:${src.portrayal.dir}:${src.earth-obs.dir}:${src.geotiff.dir}:${src.netcdf.dir}:${src.shapefile.dir}:${src.sql.dir}:${src.xmlstore.dir}:${src.storage.dir}:${src.feature.dir}:${src.referencing.dir}:${src.ref-by-id.dir}:${src.metadata.dir}:${src.utility.dir}:${src.fra-profile.dir}:${src.jpn-pro [...] </target> <target name="-post-compile-single"> <!-- Empty placeholder for easier customization. --> @@ -1705,9 +1702,6 @@ is divided into following sections: <fileset dir="${src.javafx.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> <filename name="**/*.java"/> </fileset> - <fileset dir="${src.webapp.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> - <filename name="**/*.java"/> - </fileset> <fileset dir="${src.console.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> <filename name="**/*.java"/> </fileset> @@ -1770,9 +1764,6 @@ is divided into following sections: <fileset dir="${src.javafx.dir}" excludes="${excludes}" includes="${includes}"> <filename name="**/doc-files/**"/> </fileset> - <fileset dir="${src.webapp.dir}" excludes="${excludes}" includes="${includes}"> - <filename name="**/doc-files/**"/> - </fileset> <fileset dir="${src.console.dir}" excludes="${excludes}" includes="${includes}"> <filename name="**/doc-files/**"/> </fileset> diff --git a/ide-project/NetBeans/nbproject/genfiles.properties b/ide-project/NetBeans/nbproject/genfiles.properties index fde32dd120..2427112a0b 100644 --- a/ide-project/NetBeans/nbproject/genfiles.properties +++ b/ide-project/NetBeans/nbproject/genfiles.properties @@ -3,6 +3,6 @@ build.xml.data.CRC32=58e6b21c build.xml.script.CRC32=462eaba0 build.xml.stylesheet.CRC32=28e38971@1.53.1.46 -nbproject/build-impl.xml.data.CRC32=f706d4ab -nbproject/build-impl.xml.script.CRC32=6b1e829a -nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 +nbproject/build-impl.xml.data.CRC32=fd717426 +nbproject/build-impl.xml.script.CRC32=69d63511 +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.104.0.48 diff --git a/ide-project/NetBeans/nbproject/project.properties b/ide-project/NetBeans/nbproject/project.properties index 641e600dfe..e6ace69739 100644 --- a/ide-project/NetBeans/nbproject/project.properties +++ b/ide-project/NetBeans/nbproject/project.properties @@ -37,8 +37,8 @@ project.license = apache20 project.licensePath = ../LicenseHeader.txt no.dependencies = true source.encoding = UTF-8 -javac.source = 1.8 -javac.target = 1.8 +javac.source = 11 +javac.target = 11 platform.active = default_platform junit.forkmode = once run.jvmargs = -enableassertions ${javafx.options} \ @@ -53,7 +53,6 @@ project.root = ../.. src.local-src.dir = ../local-src src.javafx.dir = ${project.root}/application/sis-javafx/doc test.javafx.dir = ${project.root}/application/sis-javafx/doc -src.webapp.dir = ${project.root}/application/sis-webapp/src/main/java src.console.dir = ${project.root}/application/sis-console/src/main/java test.console.dir = ${project.root}/application/sis-console/src/test/java src.earth-obs.dir = ${project.root}/storage/sis-earth-observation/src/main/java @@ -111,7 +110,6 @@ re2j.version = 1.3 esri.api.version = 2.2.4 jts.version = 1.19.0 jdom2.version = 2.0.6 -jee.version = 8.0.1 osgi.version = 6.0.0 netcdf.version = 5.5.3 joda-time.version = 2.10.3 @@ -138,7 +136,6 @@ javac.classpath=\ ${maven.repository}/jakarta/xml/bind/jakarta.xml.bind-api/${jaxb.version}/jakarta.xml.bind-api-${jaxb.version}.jar:\ ${maven.repository}/com/esri/geometry/esri-geometry-api/${esri.api.version}/esri-geometry-api-${esri.api.version}.jar:\ ${maven.repository}/org/locationtech/jts/jts-core/${jts.version}/jts-core-${jts.version}.jar:\ - ${maven.repository}/javax/javaee-api/${jee.version}/javaee-api-${jee.version}.jar:\ ${maven.repository}/org/postgresql/postgresql/${postgresql.version}/postgresql-${postgresql.version}.jar:\ ${maven.repository}/edu/ucar/cdm-core/${netcdf.version}/cdm-core-${netcdf.version}.jar:\ ${maven.repository}/edu/ucar/udunits/${netcdf.version}/udunits-${netcdf.version}.jar:\ diff --git a/ide-project/NetBeans/nbproject/project.xml b/ide-project/NetBeans/nbproject/project.xml index e247d6fa1b..73c362359f 100644 --- a/ide-project/NetBeans/nbproject/project.xml +++ b/ide-project/NetBeans/nbproject/project.xml @@ -25,7 +25,6 @@ <source-roots> <root id="src.local-src.dir" name="Local sources (unversioned)"/> <root id="src.javafx.dir" name="JavaFX application"/> - <root id="src.webapp.dir" name="Web application"/> <root id="src.console.dir" name="Console"/> <root id="src.portrayal.dir" name="Portrayal"/> <root id="src.earth-obs.dir" name="Earth observation"/> diff --git a/pom.xml b/pom.xml index 29575fe45d..416481c0fd 100644 --- a/pom.xml +++ b/pom.xml @@ -459,12 +459,6 @@ <version>2.0</version> <scope>test</scope> </dependency> - <dependency> - <groupId>javax</groupId> - <artifactId>javaee-api</artifactId> - <version>8.0.1</version> - <scope>provided</scope> - </dependency> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> @@ -879,7 +873,7 @@ <validateLinks>true</validateLinks> <!-- Validates content of package-list resources. --> <detectJavaApiLink>false</detectJavaApiLink> <!-- Let us declare link to Java API. --> <links> - <link>https://docs.oracle.com/javase/8/docs/api</link> + <link>https://docs.oracle.com/en/java/javase/11/docs/api</link> <link>http://unitsofmeasurement.github.io/unit-api/site/apidocs</link> <link>http://www.geoapi.org/snapshot/javadoc</link> </links>