Das widerspricht sich. JNI ruft zwar nicht unbedingt Commandlinetools auf, ist aber durch das Laden von Bibliotheken genauso betriebssystemabhängig. Anders gehts aber nicht. Das einfachste ist, Du machst mit Runtime.exec einen Aufruf auf date.
@TO ums mal einfach zu sagen : NEIN , es geht NICHT ohne system-mittel ... denn du willst ja auch die SYSTEM-zeit ändern
btw : JNI greift keinesfalls auf die hardware zu ... das tut einzige und allein der HAL ... welcher vom kernel gesteuert wird ...
JNI bietet lediglich die möglichkeit über eine java-native - bridge code aufzurufen welcher in für das OS verständlichen libs liegt ...
wie siehts dann also aus : java -> jni -> native -> os-lib -> kernel -> HAL -> hardware ...
das was du meinst (java -> jni -> hardware) geht so überhaupt nicht
Ok, dann sag doch mal, welches Zielsystem Du gerne bedienen möchtest!
Die Frage ist, ob auf dem von Dir geplanten Zielsystem eine Kommandozeile und ein Kommando existierern, mit dem man dort die Zeit einstellen kann. Wenn das beides gegeben ist, dann kannst Du das Beispiel entsprechend anpassen.
Falls es das beides nicht geben sollte (seeehr merkwürdig), dann gibt es vielleicht eine lib, die Du über JNI ansteuern kannst. Für weitere Details müsstest Du aber das Zielsystem benennen.
Die JavaApplication soll innerhalb einer JavaVM in einer Simotion (Steuerung von Siemens) laufen und die Systemzeit der Simotion ändern.
Aber was da für ein Betriebssystem drauf sein soll... das weiß kein Mensch. Mit Sicherheit nicht Windows etc., sondern wahrscheinlich eher 87234571836bg5d7a oder etwas in der Art... ;-)
wenn überhaupt wird siemens wissen welche kranke abart von unix dadrauf läuft ...
vielleicht mal anderst gefragt : um die system-zeit auf diesem gerät einzustellen muss es ja eine gegebene möglichkeit geben ... warum also muss es unbedingt mit java sein ?
wenn z.b. die clock des systems jetzt nach der zeitumstellung ne stunde falsch geht ... dann fragt doch erstmal bei siemens nach wie man diesen fehler eigentlich behebt ... anstatt jetzt da wild was mit java versuchen zu wollen was so eh nicht geht
zum "ding" an sich selbst : irgendwie müsst ihr doch eure java-files die ihr da rauf ladet auch starten ... und das vermutlich über eine console *kann mir hier eine GUI ehrlich gesagt nicht vorstellen* ...
und über genau diese console wird man sicher auch mit unix-standard-befehlen die systemzeit setzen können ... *denn irgendwie müsst ihr diese ja auch aus lesen ... und wie ich unix kenne haben solche "system"-tools auch gleich immer was parat um den wert zu ändern
Die Java-Files werden gestartet, wenn die Steuerung Saft kriegt und laufen dann bis der Strom wieder weg ist. Eine andere Möglichkeit, die zu starten, gibt es nicht. Aber wie das dann "innen" ausguckt, weiß ich nicht.
Und die Uhrzeit soll automatisch gesetzt werden, damit man sie eben nicht mehr manuell umstellen muss...
Wenn auf dem Ding nur das Java-Programm läuft ohne OS, wie willst du dann eigentlich deinen Code auf das System bringen? Hat die Maschine sowas wie ein BIOS, CD-Laufwerk oder gar einen USB Anschluss?
Oder hattest du vor die Festplatte auszubauen und in deinen Rechner reinzustecken.
Hängt das Ding eigentlich irgenwie in einem Netzwerk, oder gar dem Internet, wenn du von automatischem Update redest, oder willst du dir einfach nur Sommer/Winterzeitumstellung abnehmen lassen?
Egal wie du das geplant hast, ist das imho eher ein Fall für den Siemens-Support und nicht für Programmieranfälle von frustrierten Nutzern.