Moin,
schaut euch mal dieses Repository an: https://github.com/kredel/java-algebra-system
ich vermute, dass es falsch gebaut wurde oder falsch nach Central übertragen wurde…
Wieso? Nun, wenn ich einfach schreibe:
<!-- https://mvnrepository.com/artifact/de.uni-mannheim.rz.krum/jas -->
<dependency>
<groupId>de.uni-mannheim.rz.krum</groupId>
<artifactId>jas</artifactId>
<version>2.7.60</version>
</dependency>
dann kann meine Anwendung gar nicht compiliert werden, die Imports scheitern:
import jas.core.Compiler;
import jas.core.Node;
wird nicht gefunden.
Wenn ich stattdessen schreibe:
<dependency>
<groupId>de.uni-mannheim.rz.krum</groupId>
<artifactId>jas</artifactId>
<version>2.7.60</version>
<scope>system</scope>
<systemPath>${project.basedir}/external_lib/JAS.jar</systemPath>
</dependency>
und mir vorher die jar von der Downloadseite https://krum.rz.uni-mannheim.de/jas/
in den Ordner external_lib
ziehe, DANN kann ich meine Anwendung übersetzen und in IJ auch starten. (Das ist …btw… aber eher qnd.)
Wenn ich dann jedoch eine jar mit Abhängigkeiten erstellen möchte, so kann ich diese nicht ausführen, da wieder Compiler
usw. nicht gefunden werden. Ich muss mich dann eines Tricks bedienen, und die externe jar lokal deployen und dann die jar mit Abhängigkeiten mit mvn assembly:single
bauen:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/external_lib/JAS.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>de.uni-mannheim.rz.krum</groupId>
<artifactId>jas</artifactId>
<version>2.7.60</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>Main</mainClass>
</manifest>
</archive>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
</plugins>
</build>
<!-- ... -->
<dependency>
<groupId>de.uni-mannheim.rz.krum</groupId>
<artifactId>jas</artifactId>
<version>2.7.60</version>
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/external_lib/JAS.jar</systemPath>-->
</dependency>
Das ist wirklich etwas „nervig“ und es hatte mich heute Nachmittag auch mehrere Stunden geraubt.
Also … was stimmt mit dem Repository nicht? Ich nehme nicht an, die Uni wisse gar nicht, was sie tut.
Danke euch, und immer ein griffbereit