Maven Maven deploy

bene2808

Aktives Mitglied
Moin!

Arbeite gerade an einem Projekt, bei dem eine grafische Komponente zu Testzwecken auf meinem Desktop angezeigt werden soll (Swing) und bei dem eigentliche Anwendung eine Android App ist. Den Desktop Teil würde ich gerne in Eclipse entwickeln, den Android Teil in Android Studio. Natürlich haben beide Teile ein gemeinsames "Backend", das ich gerne auch in Eclipse entwickeln würde. Es wäre praktisch, wenn ohne viel Aufwand das Backend geändert und die Abhängigkeit in den Frontends aktualisiert werden könnten. Außerdem sollen mehrere Leute an mehreren Rechnern an diesem Projekt arbeiten können.

Meine Idee zur Lösung ist also, das Backend mit Maven deploy in ein Repository auf meinem Raspberry Pi zu schieben und die jar sowohl im Android als auch im Desktop Projekt einzubinden. Jetzt habe ich folgende Fragen:
  1. Ist das mit Maven etc. ein legitimer Ansatz oder fällt hier jemandem vielleicht etwas viel Einfacheres genauso "Nachhaltiges" ein? :D
  2. Wenn ich kleine Änderungen am Backend mache und die mit deploy auf meinen Pi schiebe ohne die Version zu ändern, bemerkt Maven das dann anhand des Änderungsdatums trotzdem und lädt die neue Version der jar für die Frontend Projekte neu herunter?
  3. Wenn ich Maven deploy aufrufe, landet die jar dann auch automatisch in meinem lokalen Repository auf meinem aktuellen Rechner? Sodass ich für die Frontend Projekte beim Neu-Einbinden des Backends nicht ständig das Netzwerk bemühen muss, wenn ich am gleichen Rechner bleibe?

Danke schon mal! :)
 

mrBrown

Super-Moderator
Mitarbeiter
Ist das mit Maven etc. ein legitimer Ansatz oder fällt hier jemandem vielleicht etwas viel Einfacheres genauso "Nachhaltiges" ein? :D
Maven passt dafür schon :)
Wenn ich kleine Änderungen am Backend mache und die mit deploy auf meinen Pi schiebe ohne die Version zu ändern, bemerkt Maven das dann anhand des Änderungsdatums trotzdem und lädt die neue Version der jar für die Frontend Projekte neu herunter?
Jein – Maven kennt "Snapshot"-Versionen, dabei müsste jeweils die neuste geladen werden (oder zumindest regelmäßig, alternativ kann man es auch immer explizit anstoßen, das geht auch automatisch beim Build.
"Normale" Versionen muss man dagegen explizit updaten, also die Version in der build.gradle/pom.xml manuell erhöhen.

Ein generelles "immer die neuste Version" gibts aus guten Gründen nicht – es sollen ja nicht alle anderen Projekte kaputt gehen, nur weil du das eine Projekt änderst.

Wenn ich Maven deploy aufrufe, landet die jar dann auch automatisch in meinem lokalen Repository auf meinem aktuellen Rechner? Sodass ich für die Frontend Projekte beim Neu-Einbinden des Backends nicht ständig das Netzwerk bemühen muss, wenn ich am gleichen Rechner bleibe?
Ja, in's lokale Repo bekommt man sie sonst direkt auch über "install", dann wird nicht in's remote-Repo deployed. Ist für lokale Entwicklung oft praktischer, als jedes Mal zu deployen.
 

bene2808

Aktives Mitglied
Hi mrBrown,

dankeschön für deine Antwort! :)

Jein – Maven kennt "Snapshot"-Versionen, dabei müsste jeweils die neuste geladen werden (oder zumindest regelmäßig, alternativ kann man es auch immer explizit anstoßen, das geht auch automatisch beim Build.
"Normale" Versionen muss man dagegen explizit updaten, also die Version in der build.gradle/pom.xml manuell erhöhen.

Ein generelles "immer die neuste Version" gibts aus guten Gründen nicht – es sollen ja nicht alle anderen Projekte kaputt gehen, nur weil du das eine Projekt änderst.
Ja dann wären wohl die Snapshot Versionen für meine Anwendung ein guter Weg.

Ja, in's lokale Repo bekommt man sie sonst direkt auch über "install", dann wird nicht in's remote-Repo deployed. Ist für lokale Entwicklung oft praktischer, als jedes Mal zu deployen.
Aja auch sehr interessant, danke!👍


Ok, dann komme ich jetzt mal zu dem Problem mit deploy, weswegen ich eigentlich dieses Thema erstellt habe. Falls das jetzt zu off topic ist, kann ich das auch gern noch mal in ein eigenes Thema verschieben.
Ich kriege die Authentifizierung mit deploy von meinem Windows Rechner auf den Pi nicht so wirklich hin. Aktuell kriege ich beim Aufruf des deploy Goals diese Fehlermeldung:

[CODE title="Fehlermeldung"][ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project [project name]: Failed to retrieve remote metadata [group]:[artifact]:0.0.1-SNAPSHOT/maven-metadata.xml: Could not transfer metadata [group]:[artifact]:0.0.1-SNAPSHOT/maven-metadata.xml from/to ssh-repository (scpexe://192.168.178.42/var/maven): Exit code: 255 - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ERROR] @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
[ERROR] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ERROR] IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
[ERROR] Someone could be eavesdropping on you right now (man-in-the-middle attack)!
[ERROR] It is also possible that a host key has just been changed.
[ERROR] The fingerprint for the RSA key sent by the remote host is
[ERROR] SHA256:dI0nLI5C3TckbWON4+EgylOXrbRsvzp/QWwP4IMhD8o.
[ERROR] Please contact your system administrator.
[ERROR] Add correct host key in [path to known_hosts on Windows computer] to get rid of this message.
[ERROR] Offending RSA key in [path to known_hosts on Windows computer]:1
[ERROR] RSA host key for 192.168.178.42 has changed and you have requested strict checking.
[ERROR] Host key verification failed.
[ERROR] Connection closed[/CODE]

Diese Fehlermeldung ist anscheinend recht bekannt; ich habe es aber trotz Internet Recherche noch nicht hingekriegt, das Problem zu lösen...:oops:
Habe das Schlüsselpaar mit puttygen generiert und die Schlüssel per Hand in die entsprechenden Dateien kopiert. Habe aber insgesamt wenig Überblick über diese Authentifizierung und Linux im Allgemeinen; ist also gut möglich, dass es einfach an irgendeinem dummen Anfängerfehler liegt :D.

Im Folgenden noch wichtige Dateien, an denen es liegen könnte. Meine pom.xml sieht grob so aus:

[CODE lang="xml" title="pom.xml"]<build>
...
<extensions>
<!-- Enabling the use of SSH -->
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>1.0-beta-6</version>
</extension>
</extensions>
</build>
<distributionManagement>
<repository>
<id>ssh-repository</id>
<url>scpexe://192.168.178.42/var/maven</url>
</repository>
</distributionManagement>[/CODE]

Meine settings.xml sieht grob so aus:

[CODE lang="xml" title="settings.xml"]<settings>
<servers>
<server>
<id>ssh-repository</id>
<username>[existing user on Pi]</username>
<privateKey>[path to private key in .pkk file]</privateKey>
<configuration>
<sshExecutable>plink</sshExecutable>
<scpExecutable>sftp</scpExecutable>
<sshArgs></sshArgs>
<scpArgs>-o UserKnownHostsFile=[path to known_hosts file on Windows computer]</scpArgs>
</configuration>
</server>
</servers>
</settings>[/CODE]

Meine private key Datei ist NICHT mit einem Master Passwort (oder wie das noch mal heißt) geschützt und sieht grob so aus:

[CODE title="Private Key Datei"]
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: rsa-key-20210130
Public-Lines: 6
[Public key]
Private-Lines: 14
[Private key]
Private-MAC: [MAC address]
[/CODE]

Meine known_hosts Datei auf dem Windows Rechner sieht so aus:

[CODE title="known_hosts Windows Rechner"]192.168.178.42 ssh-rsa [Public key] rsa-key-20210130[/CODE]

Auf meinem Raspberry Pi liegt im Nutzerverzeichnis des betreffenden Nutzers eine Datei .ssh/authorized_keys mit folgendem Inhalt:

[CODE title="authorized_keys"]ssh-rsa [Public key] rsa-key-20210130[/CODE]

Wäre sehr freundlich, wenn mir da noch jemand weiterhelfen könnte! :)
 

LimDul

Top Contributor
Lösch mal die Zeile aus known_hosts raus, da brauchst du nix einzutragen. Das sollte automatisch da beim ersten Connect eingetragen werden.
 

bene2808

Aktives Mitglied
Habe die Zeile gelöscht und es noch mal versucht. Dieses Mal kriege ich diese Fehlermeldung:

[CODE title="Neuer deploy Fehler"][ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project [project name]: Failed to retrieve remote metadata [group ID]:[artifact ID]:0.0.1-SNAPSHOT/maven-metadata.xml: Could not transfer metadata [group ID]:[artifact ID]:0.0.1-SNAPSHOT/maven-metadata.xml from/to ssh-repository (scpexe://192.168.178.42/var/maven): Exit code: 255 - Host key verification failed.
[ERROR] Connection closed
[ERROR] -> [Help 1][/CODE]

Und nun?🤯
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
L Remote-Deploy mit Maven?! Tools - Maven, Gradle, Ant & mehr 4
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3
D [Maven] neuerdings "No plugin found for prefix ..." errors Tools - Maven, Gradle, Ant & mehr 7
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5
D JUnit Test in Maven fail und in Eclipse erolgreich Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen

Neue Themen


Oben