From ae543873faba5be49b672f282ad3e004f8874880 Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Tue, 17 Jan 2023 15:15:48 +0100
Subject: [PATCH] Maven clearing until including Winter 2018

---
 Klausuren/Sd1/2018summer/Exam/pom.xml         | 67 ++++++++++---------
 Klausuren/Sd1/2018summer/Solve/pom.xml        | 67 ++++++++++---------
 Klausuren/Sd1/2018winter/Exam/pom.xml         | 67 ++++++++++---------
 .../mi/sd1/aufgabe1/_1_Helper.java            | 35 +++++-----
 .../de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java | 20 +++---
 .../mi/sd1/aufgabe2/GeoUsageSample.java       |  9 ++-
 Klausuren/Sd1/2018winter/Solve/Readme.md      |  4 ++
 Klausuren/Sd1/2018winter/Solve/pom.xml        | 67 ++++++++++---------
 .../mi/sd1/aufgabe1/_1_Helper.java            | 35 +++++-----
 .../de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java | 22 ++++--
 .../mi/sd1/aufgabe2/GeoUsageSample.java       |  5 +-
 11 files changed, 211 insertions(+), 187 deletions(-)

diff --git a/Klausuren/Sd1/2018summer/Exam/pom.xml b/Klausuren/Sd1/2018summer/Exam/pom.xml
index 712141cd6..a84c1e6a1 100644
--- a/Klausuren/Sd1/2018summer/Exam/pom.xml
+++ b/Klausuren/Sd1/2018summer/Exam/pom.xml
@@ -13,6 +13,14 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+    	<maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+
+        <freedocs.url>https://freedocs.mi.hdm-stuttgart.de</freedocs.url>
+        <jdk.api_17.url>${freedocs.url}/doc/openjdk-17-doc/api/</jdk.api_17.url>
+        <mathjax.url>${freedocs.url}/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML</mathjax.url>
+        <libhighlight.url>${freedocs.url}/lib/highlight.js</libhighlight.url>
     </properties>
 
     <repositories>
@@ -23,50 +31,44 @@
     </repositories>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.13</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.16.0</version>
-        </dependency>
-
         <dependency>
             <groupId>de.hdm_stuttgart.mi.exam</groupId>
             <artifactId>unitmarking</artifactId>
-            <version>1.1</version>
+            <version>1.2</version>
         </dependency>
 
     </dependencies>
 
     <build>
         <plugins>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.1</version>
-                <configuration>
-                    <source>11</source>
-                    <target>11</target>
-                </configuration>
+                <version>3.10.1</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.2.0</version>
+		        <artifactId>maven-javadoc-plugin</artifactId>
+		        <version>3.4.1</version>
                 <configuration>
-                    <doclint>none</doclint>
+                    <!-- Tweak: Get rid of Error message
+                      »fetching link: .../target/javadoc-bundle-options. Ignored it«
+                      corresponding to api_11 below -->
+                    <release>11</release>
+                    <doclint>all</doclint>
+                    <show>public</show>
+                    <docfilessubdirs>true</docfilessubdirs>
+                    <addStylesheets>
+                        <stylesheet>resources/jdocSupplement.css</stylesheet>
+                    </addStylesheets>
+
+                    <windowtitle>Exam documentation</windowtitle>
+
                     <javaApiLinks>
                         <property>
                             <name>api_11</name>
-                            <value>https://freedocs.mi.hdm-stuttgart.de/lib/openjdk-11-doc/api/</value>
+                            <value>${jdk.api_17.url}</value>
                         </property>
                     </javaApiLinks>
 
@@ -74,22 +76,21 @@
                         <additionalOption>-html5 --allow-script-in-comments</additionalOption>
                     </additionalOptions>
                     <nohelp>true</nohelp>
+
                     <header><![CDATA[
-            <script type="text/javascript"
-                src="https://freedocs.mi.hdm-stuttgart.de/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/mi/jdocSupplement.css">
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/styles/idea.css">
-            <script src="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/highlight.js"></script>
+            <script type="text/javascript" src="${mathjax.url}"></script>
+            <script type="text/javascript" src="{@docRoot}/resources/jdocSupplement.js"></script>
+            <link rel="stylesheet" href="${libhighlight.url}/styles/idea.css">
+            <script src="${libhighlight.url}/highlight.js"></script>
             <script type="text/javascript">hljs.initHighlightingOnLoad();</script>]]>
                     </header>
-                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                 </configuration>
             </plugin>
 
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
-                <version>3.3.0</version>
-
+                <version>3.4.2</version>
                 <configuration>
                     <descriptors>
                         <descriptor>src/main/assembly/assembly.xml</descriptor>
@@ -105,7 +106,7 @@
                         <configuration>
                             <archive>
                                 <manifest>
-                                    <mainClass>de.hdm_stuttgart.mi.sd1.test.ShowReachedPoints</mainClass>
+                                    <mainClass>de.hdm_stuttgart.mi.sd1.ShowReachedPoints</mainClass>
                                 </manifest>
                             </archive>
                         </configuration>
diff --git a/Klausuren/Sd1/2018summer/Solve/pom.xml b/Klausuren/Sd1/2018summer/Solve/pom.xml
index e87780f55..e925e1c22 100644
--- a/Klausuren/Sd1/2018summer/Solve/pom.xml
+++ b/Klausuren/Sd1/2018summer/Solve/pom.xml
@@ -13,6 +13,14 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+    	<maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+
+        <freedocs.url>https://freedocs.mi.hdm-stuttgart.de</freedocs.url>
+        <jdk.api_17.url>${freedocs.url}/doc/openjdk-17-doc/api/</jdk.api_17.url>
+        <mathjax.url>${freedocs.url}/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML</mathjax.url>
+        <libhighlight.url>${freedocs.url}/lib/highlight.js</libhighlight.url>
     </properties>
 
     <repositories>
@@ -23,50 +31,44 @@
     </repositories>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.13</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.16.0</version>
-        </dependency>
-
         <dependency>
             <groupId>de.hdm_stuttgart.mi.exam</groupId>
             <artifactId>unitmarking</artifactId>
-            <version>1.1</version>
+            <version>1.2</version>
         </dependency>
 
     </dependencies>
 
     <build>
         <plugins>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.1</version>
-                <configuration>
-                    <source>11</source>
-                    <target>11</target>
-                </configuration>
+                <version>3.10.1</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.2.0</version>
+		        <artifactId>maven-javadoc-plugin</artifactId>
+		        <version>3.4.1</version>
                 <configuration>
-                    <doclint>none</doclint>
+                    <!-- Tweak: Get rid of Error message
+                      »fetching link: .../target/javadoc-bundle-options. Ignored it«
+                      corresponding to api_11 below -->
+                    <release>11</release>
+                    <doclint>all</doclint>
+                    <show>public</show>
+                    <docfilessubdirs>true</docfilessubdirs>
+                    <addStylesheets>
+                        <stylesheet>resources/jdocSupplement.css</stylesheet>
+                    </addStylesheets>
+
+                    <windowtitle>Exam documentation</windowtitle>
+
                     <javaApiLinks>
                         <property>
                             <name>api_11</name>
-                            <value>https://freedocs.mi.hdm-stuttgart.de/lib/openjdk-11-doc/api/</value>
+                            <value>${jdk.api_17.url}</value>
                         </property>
                     </javaApiLinks>
 
@@ -74,22 +76,21 @@
                         <additionalOption>-html5 --allow-script-in-comments</additionalOption>
                     </additionalOptions>
                     <nohelp>true</nohelp>
+
                     <header><![CDATA[
-            <script type="text/javascript"
-                src="https://freedocs.mi.hdm-stuttgart.de/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/mi/jdocSupplement.css">
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/styles/idea.css">
-            <script src="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/highlight.js"></script>
+            <script type="text/javascript" src="${mathjax.url}"></script>
+            <script type="text/javascript" src="{@docRoot}/resources/jdocSupplement.js"></script>
+            <link rel="stylesheet" href="${libhighlight.url}/styles/idea.css">
+            <script src="${libhighlight.url}/highlight.js"></script>
             <script type="text/javascript">hljs.initHighlightingOnLoad();</script>]]>
                     </header>
-                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                 </configuration>
             </plugin>
 
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
-                <version>3.3.0</version>
-
+                <version>3.4.2</version>
                 <configuration>
                     <descriptors>
                         <descriptor>src/main/assembly/assembly.xml</descriptor>
@@ -105,7 +106,7 @@
                         <configuration>
                             <archive>
                                 <manifest>
-                                    <mainClass>de.hdm_stuttgart.mi.sd1.test.ShowReachedPoints</mainClass>
+                                    <mainClass>de.hdm_stuttgart.mi.sd1.ShowReachedPoints</mainClass>
                                 </manifest>
                             </archive>
                         </configuration>
diff --git a/Klausuren/Sd1/2018winter/Exam/pom.xml b/Klausuren/Sd1/2018winter/Exam/pom.xml
index 1e097f797..f081e3694 100644
--- a/Klausuren/Sd1/2018winter/Exam/pom.xml
+++ b/Klausuren/Sd1/2018winter/Exam/pom.xml
@@ -13,6 +13,14 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+    	<maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+
+        <freedocs.url>https://freedocs.mi.hdm-stuttgart.de</freedocs.url>
+        <jdk.api_17.url>${freedocs.url}/doc/openjdk-17-doc/api/</jdk.api_17.url>
+        <mathjax.url>${freedocs.url}/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML</mathjax.url>
+        <libhighlight.url>${freedocs.url}/lib/highlight.js</libhighlight.url>
     </properties>
 
     <repositories>
@@ -23,50 +31,44 @@
     </repositories>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.13</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.16.0</version>
-        </dependency>
-
         <dependency>
             <groupId>de.hdm_stuttgart.mi.exam</groupId>
             <artifactId>unitmarking</artifactId>
-            <version>1.1</version>
+            <version>1.2</version>
         </dependency>
 
     </dependencies>
 
     <build>
         <plugins>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.1</version>
-                <configuration>
-                    <source>11</source>
-                    <target>11</target>
-                </configuration>
+                <version>3.10.1</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.2.0</version>
+		        <artifactId>maven-javadoc-plugin</artifactId>
+		        <version>3.4.1</version>
                 <configuration>
-                    <doclint>none</doclint>
+                    <!-- Tweak: Get rid of Error message
+                      »fetching link: .../target/javadoc-bundle-options. Ignored it«
+                      corresponding to api_11 below -->
+                    <release>11</release>
+                    <doclint>all</doclint>
+                    <show>public</show>
+                    <docfilessubdirs>true</docfilessubdirs>
+                    <addStylesheets>
+                        <stylesheet>resources/jdocSupplement.css</stylesheet>
+                    </addStylesheets>
+
+                    <windowtitle>Exam documentation</windowtitle>
+
                     <javaApiLinks>
                         <property>
                             <name>api_11</name>
-                            <value>https://freedocs.mi.hdm-stuttgart.de/lib/openjdk-11-doc/api/</value>
+                            <value>${jdk.api_17.url}</value>
                         </property>
                     </javaApiLinks>
 
@@ -74,22 +76,21 @@
                         <additionalOption>-html5 --allow-script-in-comments</additionalOption>
                     </additionalOptions>
                     <nohelp>true</nohelp>
+
                     <header><![CDATA[
-            <script type="text/javascript"
-                src="https://freedocs.mi.hdm-stuttgart.de/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/mi/jdocSupplement.css">
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/styles/idea.css">
-            <script src="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/highlight.js"></script>
+            <script type="text/javascript" src="${mathjax.url}"></script>
+            <script type="text/javascript" src="{@docRoot}/resources/jdocSupplement.js"></script>
+            <link rel="stylesheet" href="${libhighlight.url}/styles/idea.css">
+            <script src="${libhighlight.url}/highlight.js"></script>
             <script type="text/javascript">hljs.initHighlightingOnLoad();</script>]]>
                     </header>
-                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                 </configuration>
             </plugin>
 
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
-                <version>3.3.0</version>
-
+                <version>3.4.2</version>
                 <configuration>
                     <descriptors>
                         <descriptor>src/main/assembly/assembly.xml</descriptor>
@@ -105,7 +106,7 @@
                         <configuration>
                             <archive>
                                 <manifest>
-                                    <mainClass>de.hdm_stuttgart.mi.sd1.test.ShowReachedPoints</mainClass>
+                                    <mainClass>de.hdm_stuttgart.mi.sd1.ShowReachedPoints</mainClass>
                                 </manifest>
                             </archive>
                         </configuration>
diff --git a/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java b/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java
index b3ff12e50..58c6bf471 100644
--- a/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java
+++ b/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java
@@ -62,28 +62,29 @@ public class _1_Helper {
   }
 
   /**
-   * <p>Ersetze jedes Leerzeichen <code>' '</code> zur besseren Erkennung durch ein '_'. Beispiel:</p>
+   * <p>Ersetze jedes Leerzeichen <code>' '</code> zur besseren Erkennung durch ein <code>'_'</code>:</p>
    *
-   *<table class="goikTableDefaults">
-   *  <tr>
-   *    <th>Code</th>
-   *    <th>Ergebnis</th>
-   *  </tr>
-   *  <tr>
-   *    <td style="vertical-align:top">
-   *      <pre><code class="java">{@code System.out.println(
-   *      Helper.markiereLeerzeichen(
-   *            "This is  important! "));}</code></pre>
-   *     </td>
-   *     <td style="vertical-align:top">
-   *       <pre>This<span style="color:red;">_</span>is<span
-   *          style="color:red;">__</span>important!<span style="color:red;">_</span></pre>
-   *     </td>
+   * <table class="goikTableDefaults">
+   *   <caption>Leerzeichen zu Unterstrichen</caption>
+   *   <tr>
+   *      <th>Code</th>
+   *      <th>Ergebnis</th>
    *   </tr>
+   *   <tr>
+   *      <td style="vertical-align:top">
+   *        <pre><code class="java"> System.out.println(
+   *           Helper.markiereLeerzeichen(
+   *            "This is  important! "));</code></pre>
+   *       </td>
+   *       <td style="vertical-align:top">
+   *         <pre>This<span style="color:red;">_</span>is<span
+   *            style="color:red;">__</span>important!<span style="color:red;">_</span></pre>
+   *       </td>
+   *    </tr>
    * </table>
    *
    * <section class="implementationHints">
-   *   <h3>Hinweis:</h3>
+   *   <h4>Hinweis:</h4>
    *   <p>{@link String#replace(char, char)}.</p>
    * </section>
    *
diff --git a/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java b/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java
index 0129edafe..a7d0d426d 100644
--- a/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java
+++ b/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java
@@ -6,12 +6,13 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  * <p>Längen- oder Breitenangaben können als (Grad, Winkelminuten, Winkelsekunden) dargestellt werden. Dabei gilt:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Angaben in Grad, Minute und Sekunde</caption>
  *     <tr>
  *         <td style="width: 35em">
  *           <ul>
  *             <li>360° Grad entsprechen einem Vollkreis.</li>
  *             <li>60 Winkelminuten ergeben 1 Grad: 60´ == 1°.</li>
- *             <li>60 Winkelsekunden ergeben eine Winkelminute: 60´´ = 1´.</li>
+ *             <li>60 Winkelsekunden ergeben eine Winkelminute: 60" = 1´.</li>
  *           </ul>
  *         </td>
  *         <td style="width: 30em"><b>Beispiel:</b> Die geographische Breitenangabe von Stuttgart lautet
@@ -20,8 +21,6 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  *     </tr>
  * </table>
  *
- * <p></p>
- *
  * <p>Alternativ gibt es auch eine <em>dezimale</em> Graddarstellung: Diese geht ebenfalls von einem Vollkreis zu 360°
  * aus. Allerdings werden die Minuten- und Sekundenanteile als Dezimalbruch angegeben. Die geographische Breite
  * (<b style="color: red;">48°</b>, <b style="color: green;">46′</b>, <b style="color: blue;">56″</b>) beispielsweise
@@ -35,7 +34,7 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  *          stuttgartBreite2 = new Geo(48.782222); // Dezimalangabe: Identische Breite bis auf Rundungsfehler</pre>
  *
  * <section class="implementationHints">
- *     <h3>Hinweis:</h3>
+ *     <h2>Hinweis:</h2>
  *
  *     <p>Verwenden Sie als Interndarstellung die Angabe in (Grad, Minuten, Sekunden). Sie müssen dann
  *     für den Konstruktor aus einer dezimalen <code>double</code> Gradangabe im ersten Schritt Werte wie 48.782222 in
@@ -56,6 +55,7 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  * <p>Instanzen von {@link Geo} werden im Standard wie folgt ausgegeben:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Koordinatendarstellung als (gg°, mm', ss")</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -69,10 +69,11 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  *     </tr>
  * </table>
  *
- * <p>Das Format der Ausgabe kann zur Laufzeit global für alle Instanzen gewechselt werden. Dabei werden für die
- * Dezimaldarstellung genau sechs Nachkommastellen ausgegeben:</p>
+ * <p>Das Format der Ausgabe kann zur Laufzeit global für alle Instanzen zwischen (gg°, mm', ss") und Dezimal
+ *    gewechselt werden. Für die Dezimaldarstellung werden sechs Nachkommastellen ausgegeben:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Wechsel der Darstellung</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -98,6 +99,7 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  * <p>Instanzen von Geo sollen auf Wertgleichheit geprüft werden können:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Wertgleichheit von {@link Geo} Instanzen</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -122,6 +124,7 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  * <p>Winkelangaben sollen aufsteigend sortierbar sein:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Sortierung von {@link Geo} instanzen</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -138,8 +141,8 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  *
  * Arrays.sort(breitenAngaben);
  *
- * System.out.println("Breitengrade Stuttgart, Beirut und Atlanta"
- *     + "\naufsteigend sortiert:");
+ * System.out.println("Breitengrade Stuttgart, Beirut und Atlanta\n"
+ *     + "aufsteigend sortiert:");
  *
  * for (final Geo g: breitenAngaben) {
  *   System.out.println(g);
@@ -166,6 +169,7 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2;
  * time Fehler:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Immutable instance attributes</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Fehlermeldung Compiler</th>
diff --git a/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java b/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java
index 7659baf46..cca461775 100644
--- a/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java
+++ b/Klausuren/Sd1/2018winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java
@@ -1,10 +1,5 @@
 package de.hdm_stuttgart.mi.sd1.aufgabe2;
 
-
-import de.hdm_stuttgart.mi.sd1.aufgabe2.Geo;
-
-import java.util.Arrays;
-
 /**
  * Diese Klasse dient lediglich als Beispiel zur Verwendung von {@link Geo}.
  *
@@ -13,6 +8,10 @@ import java.util.Arrays;
  */
 public class GeoUsageSample {
 
+  /**
+   * Demo of {@link Geo} usage.
+   * @param args Unused.
+   */
   public static void main(String[] args) {
 
     // TODO: Einkommentieren, sobald de.hdm_stuttgart.mi.sd1.aufgabe2.Geo  implementiert ist.
diff --git a/Klausuren/Sd1/2018winter/Solve/Readme.md b/Klausuren/Sd1/2018winter/Solve/Readme.md
index 487839fab..2491ba2c5 100644
--- a/Klausuren/Sd1/2018winter/Solve/Readme.md
+++ b/Klausuren/Sd1/2018winter/Solve/Readme.md
@@ -5,3 +5,7 @@ mvn compile test-compile
 mvn -Dmaven.test.skip=true package
 java -jar target/sd1_2018winter_solve-0.9-fat-tests.jar
 ```
+
+See [generatated API docs]().
+
+
diff --git a/Klausuren/Sd1/2018winter/Solve/pom.xml b/Klausuren/Sd1/2018winter/Solve/pom.xml
index df7c7bdd7..25ecf28bb 100644
--- a/Klausuren/Sd1/2018winter/Solve/pom.xml
+++ b/Klausuren/Sd1/2018winter/Solve/pom.xml
@@ -13,6 +13,14 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+    	<maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+
+        <freedocs.url>https://freedocs.mi.hdm-stuttgart.de</freedocs.url>
+        <jdk.api_17.url>${freedocs.url}/doc/openjdk-17-doc/api/</jdk.api_17.url>
+        <mathjax.url>${freedocs.url}/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML</mathjax.url>
+        <libhighlight.url>${freedocs.url}/lib/highlight.js</libhighlight.url>
     </properties>
 
     <repositories>
@@ -23,50 +31,44 @@
     </repositories>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.13</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <version>2.16.0</version>
-        </dependency>
-
         <dependency>
             <groupId>de.hdm_stuttgart.mi.exam</groupId>
             <artifactId>unitmarking</artifactId>
-            <version>1.1</version>
+            <version>1.2</version>
         </dependency>
 
     </dependencies>
 
     <build>
         <plugins>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.1</version>
-                <configuration>
-                    <source>11</source>
-                    <target>11</target>
-                </configuration>
+                <version>3.10.1</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>3.2.0</version>
+		        <artifactId>maven-javadoc-plugin</artifactId>
+		        <version>3.4.1</version>
                 <configuration>
-                    <doclint>none</doclint>
+                    <!-- Tweak: Get rid of Error message
+                      »fetching link: .../target/javadoc-bundle-options. Ignored it«
+                      corresponding to api_11 below -->
+                    <release>11</release>
+                    <doclint>all</doclint>
+                    <show>public</show>
+                    <docfilessubdirs>true</docfilessubdirs>
+                    <addStylesheets>
+                        <stylesheet>resources/jdocSupplement.css</stylesheet>
+                    </addStylesheets>
+
+                    <windowtitle>Exam documentation</windowtitle>
+
                     <javaApiLinks>
                         <property>
                             <name>api_11</name>
-                            <value>https://freedocs.mi.hdm-stuttgart.de/lib/openjdk-11-doc/api/</value>
+                            <value>${jdk.api_17.url}</value>
                         </property>
                     </javaApiLinks>
 
@@ -74,22 +76,21 @@
                         <additionalOption>-html5 --allow-script-in-comments</additionalOption>
                     </additionalOptions>
                     <nohelp>true</nohelp>
+
                     <header><![CDATA[
-            <script type="text/javascript"
-                src="https://freedocs.mi.hdm-stuttgart.de/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/mi/jdocSupplement.css">
-            <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/styles/idea.css">
-            <script src="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/highlight.js"></script>
+            <script type="text/javascript" src="${mathjax.url}"></script>
+            <script type="text/javascript" src="{@docRoot}/resources/jdocSupplement.js"></script>
+            <link rel="stylesheet" href="${libhighlight.url}/styles/idea.css">
+            <script src="${libhighlight.url}/highlight.js"></script>
             <script type="text/javascript">hljs.initHighlightingOnLoad();</script>]]>
                     </header>
-                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                 </configuration>
             </plugin>
 
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
-                <version>3.3.0</version>
-
+                <version>3.4.2</version>
                 <configuration>
                     <descriptors>
                         <descriptor>src/main/assembly/assembly.xml</descriptor>
@@ -105,7 +106,7 @@
                         <configuration>
                             <archive>
                                 <manifest>
-                                    <mainClass>de.hdm_stuttgart.mi.sd1.test.ShowReachedPoints</mainClass>
+                                    <mainClass>de.hdm_stuttgart.mi.sd1.ShowReachedPoints</mainClass>
                                 </manifest>
                             </archive>
                         </configuration>
diff --git a/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java b/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java
index 2b58204f2..2636da435 100644
--- a/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java
+++ b/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe1/_1_Helper.java
@@ -67,28 +67,29 @@ public class _1_Helper {
   }
 
   /**
-   * <p>Ersetze jedes Leerzeichen <code>' '</code> zur besseren Erkennung durch ein '_'. Beispiel:</p>
+   * <p>Ersetze jedes Leerzeichen <code>' '</code> zur besseren Erkennung durch ein <code>'_'</code>:</p>
    *
-   *<table class="goikTableDefaults">
-   *  <tr>
-   *    <th>Code</th>
-   *    <th>Ergebnis</th>
-   *  </tr>
-   *  <tr>
-   *    <td style="vertical-align:top">
-   *      <pre><code class="java">{@code System.out.println(
-   *      Helper.markiereLeerzeichen(
-   *            "This is  important! "));}</code></pre>
-   *     </td>
-   *     <td style="vertical-align:top">
-   *       <pre>This<span style="color:red;">_</span>is<span
-   *          style="color:red;">__</span>important!<span style="color:red;">_</span></pre>
-   *     </td>
+   * <table class="goikTableDefaults">
+   *   <caption>Leerzeichen zu Unterstrichen</caption>
+   *   <tr>
+   *      <th>Code</th>
+   *      <th>Ergebnis</th>
    *   </tr>
+   *   <tr>
+   *      <td style="vertical-align:top">
+   *        <pre><code class="java"> System.out.println(
+   *           Helper.markiereLeerzeichen(
+   *            "This is  important! "));</code></pre>
+   *       </td>
+   *       <td style="vertical-align:top">
+   *         <pre>This<span style="color:red;">_</span>is<span
+   *            style="color:red;">__</span>important!<span style="color:red;">_</span></pre>
+   *       </td>
+   *    </tr>
    * </table>
    *
    * <section class="implementationHints">
-   *   <h3>Hinweis:</h3>
+   *   <h4>Hinweis:</h4>
    *   <p>{@link String#replace(char, char)}.</p>
    * </section>
    *
diff --git a/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java b/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java
index 224010bc6..d1541fde0 100644
--- a/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java
+++ b/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Geo.java
@@ -8,12 +8,13 @@ import java.text.DecimalFormat;
  * <p>Längen- oder Breitenangaben können als (Grad, Winkelminuten, Winkelsekunden) dargestellt werden. Dabei gilt:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Angaben in Grad, Minute und Sekunde</caption>
  *     <tr>
  *         <td style="width: 35em">
  *           <ul>
  *             <li>360° Grad entsprechen einem Vollkreis.</li>
  *             <li>60 Winkelminuten ergeben 1 Grad: 60´ == 1°.</li>
- *             <li>60 Winkelsekunden ergeben eine Winkelminute: 60´´ = 1´.</li>
+ *             <li>60 Winkelsekunden ergeben eine Winkelminute: 60" = 1´.</li>
  *           </ul>
  *         </td>
  *         <td style="width: 30em"><b>Beispiel:</b> Die geographische Breitenangabe von Stuttgart lautet
@@ -22,8 +23,6 @@ import java.text.DecimalFormat;
  *     </tr>
  * </table>
  *
- * <p></p>
- *
  * <p>Alternativ gibt es auch eine <em>dezimale</em> Graddarstellung: Diese geht ebenfalls von einem Vollkreis zu 360°
  * aus. Allerdings werden die Minuten- und Sekundenanteile als Dezimalbruch angegeben. Die geographische Breite
  * (<b style="color: red;">48°</b>, <b style="color: green;">46′</b>, <b style="color: blue;">56″</b>) beispielsweise
@@ -49,6 +48,7 @@ import java.text.DecimalFormat;
  * <p>Instanzen von {@link Geo} werden im Standard wie folgt ausgegeben:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Koordinatendarstellung als (gg°, mm', ss")</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -62,10 +62,11 @@ import java.text.DecimalFormat;
  *     </tr>
  * </table>
  *
- * <p>Das Format der Ausgabe kann zur Laufzeit global für alle Instanzen gewechselt werden. Dabei werden für die
- * Dezimaldarstellung genau sechs Nachkommastellen ausgegeben:</p>
+ * <p>Das Format der Ausgabe kann zur Laufzeit global für alle Instanzen zwischen (gg°, mm', ss") und Dezimal
+ *    gewechselt werden. Für die Dezimaldarstellung werden sechs Nachkommastellen ausgegeben:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Wechsel der Darstellung</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -83,6 +84,7 @@ import java.text.DecimalFormat;
  * <p>Instanzen von Geo sollen auf Wertgleichheit geprüft werden können:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Wertgleichheit von {@link Geo} Instanzen</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -107,6 +109,7 @@ import java.text.DecimalFormat;
  * <p>Winkelangaben sollen aufsteigend sortierbar sein:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Sortierung von {@link Geo} instanzen</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Ausgabe</th>
@@ -123,8 +126,8 @@ import java.text.DecimalFormat;
  *
  * Arrays.sort(breitenAngaben);
  *
- * System.out.println("Breitengrade Stuttgart, Beirut und Atlanta"
- *     + "\naufsteigend sortiert:");
+ * System.out.println("Breitengrade Stuttgart, Beirut und Atlanta\n"
+ *     + "aufsteigend sortiert:");
  *
  * for (final Geo g: breitenAngaben) {
  *   System.out.println(g);
@@ -144,6 +147,7 @@ import java.text.DecimalFormat;
  * time Fehler:</p>
  *
  * <table class="goikTableDefaults">
+ *     <caption>Immutable instance attributes</caption>
  *     <tr>
  *         <th>Code</th>
  *         <th>Fehlermeldung Compiler</th>
@@ -225,6 +229,10 @@ public class Geo implements Comparable<Geo> {
     this.sekunden = (int) Math.round(sekunden);
   }
 
+  /**
+   * Get decimal representation
+   * @return The decimal longitude/latitude value.
+   */
   public double getDezimal() {
     return grad + (minuten + sekunden / 60.) / 60;
   }
diff --git a/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java b/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java
index 36bb140a8..8f35c6ee3 100644
--- a/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java
+++ b/Klausuren/Sd1/2018winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/GeoUsageSample.java
@@ -1,6 +1,5 @@
 package de.hdm_stuttgart.mi.sd1.aufgabe2;
 
-
 import java.util.Arrays;
 
 /**
@@ -11,6 +10,10 @@ import java.util.Arrays;
  */
 public class GeoUsageSample {
 
+  /**
+   * Demo of {@link Geo} usage.
+   * @param args Unused.
+   */
   public static void main(String[] args) {
 
     final Geo stuttgartBreite = new Geo(48, 46, 56);
-- 
GitLab