Auto SSH Upload to Raspberry

cocojack42

Mitglied
Hallöchen,
ich suche nach einem Weg, wie ich auf einen Raspberry PI ein Java Programm automatisch hochladen kann wenn ich "Run" klicke. Bei der Eclipse c++ Variante ist dies ja möglich. Kennt jemand einen Weg wie ich das auch mit der Java Eclipse Version hinbekomme?
 
Zuletzt bearbeitet:

MF

Mitglied
Hallo,

habe erst seit einer Woche die Himbeere - "daher die späte Antwort" :)
Ich habe das so gelöst.
- Samba Server auf dem Raspi einrichten
- JAVA Verzeichnis des Raspials Netzlaufwerk in Windows einrichten und im Windows File Explorer verbinden (falls Passwort erfoderlich)
- in Netbeans schreibe ich das .Jar File direkt auf den Rasperry (Das kann man direkt im Projekt Wizzard bereits festlegen)
- In der Raspi Shell kannst Du dann sofort das Programm starten.

Du kannst das auch in Netbeans direkt in build.xml eintragen.
In diesem Oracle Blog wird das vorgeschlagen:
https://blogs.oracle.com/speakjava/entry/integrating_netbeans_for_raspberry_pi

In Ecllipse kann man das sicherlich auch einrichten. Die Lösung über Samba finde ich etwas besser. Gerne würde ich zwei JARs (also in zwei Verzeichnissen: einmal auf meinem Rechner mit der IDE und einmal auf der Himbeere) erzeugen lassen- das geht bestimmt - ich weiß leider noch nicht wie ...

Tja ... das habe ich bei mir gelöst und es funktioneirt - nicht gelöst habe ich das:
http://www.java-forum.org/mobile-geraete/158200-javafx-raspberry-pi.html
Falls Du zufällig eine Lösung dazu hast ?!

Viele Grüße
 

anti-held

Bekanntes Mitglied
Auch ich habe es ähnlich zu MFs Lösung angewendet.
Ein Netzlaufwerk zum Ordner auf dem Raspi.
Für das Deployment habe ich mir ein Ant-Script geschrieben.
Dieses kompiliert den Code, erstellt die passende Ordnerstruktur lokal mit dem Jar-File incl. Ressourcen und kopiert alles an die gewollte Stelle auf dem Raspi.

So habe ich eine lokale Version, die ich per Batch-Skript ausführen kann und eine remote Version auf dem Raspi.
 

cocojack42

Mitglied
Ich versuche das grade, indem ich einen eigenen Ant-Builder konfiguriere. Leider stelle ich mich etwas blöd an :D. Könnte einer von euch vielleicht seinen Builder exportieren?
 

cocojack42

Mitglied
Nach mehreren Stunden Arbeit und etwas glück habe ich endlich auch eine Lösung erarbeitet:


Ich habe den Builder unter Project->Properties einen neuen ANT-Builder verpasst
attachment.php



dann es wie konfiguriert

attachment.php


und in die XML habe ich das hier reingeschrieben:

[XML]<?xml version="1.0"?>
<project name="SocketClient" default="main" basedir=".">
<property name="src.dir" location="src" />
<property name="build.dir" location="bin" />
<property name="dist.dir" location="rasp_destionation" />
<property name="bat" location="${basedir}" />
<property name="main.class" location="test.Main" />

<target name="clean">
<delete dir="${dist.dir}" />
</target>

<target name="makedir">
<mkdir dir="${build.dir}" />
<mkdir dir="${dist.dir}" />
<mkdir dir="${src.dir}" />
</target>

<target name="compile" depends="clean, makedir">
<javac srcdir="${src.dir}" destdir="${build.dir}">
</javac>
</target>



<target name="jar" depends="compile">
<description>compiles project to jar</description>
<jar destfile="${dist.dir}\${ant.project.name}.jar" basedir="${build.dir}">
<manifest>
<attribute name="Main-Class" value="${main.class}" />
</manifest>
</jar>
</target>

<target name="main" depends="debug">
<description>Main Target, launches when "Run" is clicked</description>
</target>

<target name="debug" depends="compile, jar">
<description>Debug configuration, uploads to tmp directory</description>
<exec dir="${bat}" executable="cmd" os="Windows 7">
<arg line="/c debug.bat"/>
</exec>
<description>Main target</description>
</target>


</project>[/XML]

vielleicht hilft das ja mal jemand in Zukunft
 

Anhänge

  • sc1.png
    sc1.png
    42,7 KB · Aufrufe: 62
  • sc2.png
    sc2.png
    57,7 KB · Aufrufe: 58

cocojack42

Mitglied
Hier noch ne kleinere Verbesserung, damit man sich samba sparen kann und die Datei über putty hochlädt:

[XML]
<target name="send-jar" depends="compile, jar">
<exec executable="pscp.exe" dir="${basedir}">
<arg line="-pw ${pass} ${dist.dir}\${ant.project.name}.jar ${user}@${host}:home/pi/debug/${ant.project.name}.jar" />
</exec>
</target>[/XML]

ach und noch etwas was ich vergessen habe, sollte eingefügt werden, da sonst die breakpoints ignoriert werden :

[XML]
<target name="compile" depends="clean, makedir">
<javac srcdir="${src.dir}" destdir="${build.dir}" debuglevel="lines,vars,source">
</javac>
</taret>[/XML]
 

Ähnliche Java Themen

Neue Themen


Oben