Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich hab ein Applet geschrieben, dass zuerst auf eine Datenbank auf einem firmeninternen Server zugreifen und daraus Daten in eine Textdatei auf der lokalen Festplatte speichern soll. (Das Programm soll nur firmenintern von wenigen Leuten genutzt werden.)
Nun sind genau diese beiden Funktionen für Applets ja im Grunde verboten, aber man soll ein Applet wohl signieren können, damit es das doch darf.
In den meisten Beschreibungen hab ich bisher gelesen, dass es am einfachsten ist eine .jar Datei zu erstellen, die man dann mit jarsigner signiert.
Jetzt hab ich in Eclipse das Problem, dass ich beim erzeugen der .jar Datei die Main-Class nicht auswählen kann und wenn ich sie weg lasse, funktioniert nachher die Datei nicht, weil er die Main-Class nicht finden kann.
Selbst wenn ich die Main-Class anschließend von Hand in die Manifest Datei schreibe, bekomm ich den gleichen Fehler.
Kann mir irgendjemand sagen, warum Eclipse beim .jar erstellen die Main-Class nicht findet?
Oder hat jemand eine andere Idee wie ich das Applet signieren kann ohne ein .jar daraus zu machen?
Okay, das wusste ich nicht. Warum gibt's dann die Fehlermeldung, dass die Main-Class nicht da wär, wenn ich die .jar Datei öffnen will? Oder kann man aus dem Grund aus nem Applet kein .jar machen?
also zum signieren gibts keinen anderen weg, als den, daß du ein jar draus machst. anscheinden gibt es in deinem eclipse damit ja auch kein problem. vielmehr hast du nachher beim ausprobieren wohl das problem. denke bitte daran, daß applets eine webumgebung benötigen um zu laufen. was ich damit sagen will ist, daß du eine homepage benötigst, welche das jar-file einbindet und die hauptklasse aufruft. die hauptklasse wäre in einer applikation diejenige, welche die main-methode beinhaltet, in einem applet ist das diejenige, welche von Applet oder JApplet erbt. die homepage die du benötigst kann ganz kurz gehalten sein, nur damit das ausprobieren klappt:
ich kann dir nur empfehlen aus dem signierungsbefehl eine bat-datei zu machen. ich mache das immer so, daß diese zunächst mittels jar.exe mir das jar-file erzeugt, anschließend dieses mittels keytool.exe signiert, dann die jar-datei in den webspace verschiebt und letztlich meine webbrowser aufruft und ihm als parameter die adresse der html-seite übergibt, welche das applet lädt. auf die art muss ich unter eclipse nur mal kurz builden lassen und kann anschließend durch einen kurzen aufruf meiner bat-datei in der eingabeaufforderung fast sofort das ergebnis sehen.
Nur zur Info: Einfach beim Export anstatt gleich auf Finish, 2 mal auf Next klicken, dann kannst du ganz unten auch die Main-Class auswählen, auch wenn du es bei einem Applet nicht benötigst
Vielen Dank erstmal für die Hilfe, vor allem an wayne0101 für die ausführliche Antwort.
Ich hab das mit dem jar erstellen und in eine html-Seite einbinden mittlerweile hinbekommen. Außerdem funktioniert auch der Datenbankzugriff ohne Signieren des jar. Ich benutze stattdessen die lokale System-DSN, die wir eh benutzen. Dadurch baut das Applet die Verbindung zum Datenbankserver nicht selber auf, was daher auch kein Sicherheitsrisiko mehr darstellen kann.
Jetzt brauch ich nur noch eine Möglichkeit, die Daten, die ich aus der Datenbank raus ziehe in eine Textdatei zu schreiben. Das ist für Applets ja auch verboten.
Hat da vielleicht jemand eine Idee, wie ich hier (ähnlich wie beim Datenbankproblem) die Entscheidung über den Zugriff auf die Festplatte in die Hände des lokalen Systems oder User lege, statt in die des Applets? Ich hatte da an sowas gedacht wie eine Übergabe an den Browser, der dann wie bei jedem anderen Download den Benutzer fragt, wo er's gern hin speichern möchte.
Noch mal zum Ausführen eines Applets.
Man muss das Applet nicht in eine Webseite einbetten. Eclipse kann das Ding sowieso starten und beim JRE ist doch auch ein "Appletiewer" dabei.