java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Java - Programmierung > Deployment

Deployment Applets, Webstart, Ant, Maven, Build Management, Version Mangement, Installer

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 11.03.2010, 20:27   #1 (permalink)
Benutzer
Byte
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Java-Applet Probleme beim Browser

Hallo,

ich habe nun mein erstes Applet geschrieben, nun habe ich folgende kommanos in der console eingegeben:

javac prog.java
--> hat funktioniert
appletviewer prog.html
--> das gewünschte Programm ist auch im Viewer und läuft.

Mein Problem ist jetzt das es leider nicht lokal mit meinem firefox läuft, habe es auch schon auf einen Server probiert. Es kommt immer: "Fehler! Klicken sie hier um weiter Informationen zu erhalten."

Installiert muss jdk aber im browser sein, ist firefox 3.5.8 und andere Seiten mit applets funktionieren auch.
Was mache ich falsch?

Dank schonmal für die Hilfe.
Gruß Gustl

Edit: Sehe gerade das dieses Thema wohl doch eher was für dem Unterforum Java-Basics ist, sry. Das nächste mal dann.

Geändert von Gustl_Java (11.03.2010 um 20:29 Uhr)
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 11.03.2010, 20:31   #2 (permalink)
Java-Forum Team
Site Operator
 
Benutzerbild von L-ectron-X
 
Registriert seit: 24.04.2004
Beiträge: 9.272
Abgegebene Danke: 5
Erhielt 91 Danke für 91 Beiträge
Warum verweigert mein Browser die Anzeige von Java-Applets?
Hilft das? Wenn nicht, die genaue Fehlermeldung aus der Java-Konsole posten.
__________________
Schöne Grüße,
L-ectron-X

Programmieren lernt man nur durch programmieren.

www.java-forum.org - Java programmieren aus Leidenschaft
www.byte-welt.de - Die Welt des Programmierens
L-ectron-X ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 13:20   #3 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Hallo, danke, es wird dann wohl daran liegen weil mein applet nicht signiert wurde.

Aber ich komme da an dieser Stelle einfach nicht weiter.

Ich habe 2 class Dateien und einen ordner "img" wo drei bilder drin sind.
Signieren kann ich aber nur eine jar Datei oder?
Ein Zertifikat habe ich erstellt, zumindest glaube ich das.
Mein Java-Editor kann aber keine .jar von meinem projekt erzeugen, er kann es nicht mal kompilieren, da ihm die main fehlt. Kompiliert habe ich es mit javac.
Aber eine jar Datei bekomme ich einfach nicht aus meinem Projekt auf Konsolenebene.
Könnte mir da einer helfen?
Eingabe: jar c game.jar VierGewinnt.class
aber es funktioniert nicht, hier vermisst er die .jar Datei, sagt die existiert nicht. klar existiert diese nicht, da er sie ja erzeugen soll...

Wie mache ich da eine .jar Datei draus?
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 14:01   #4 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Habe nun mit dem Befehl jar ein archiv erstellen können.

jar -cfv Game.jar VierGewinnt.class Game.class img
img ist der ordner mit den 3 Bilder.

Dann habe ich diese Bat Datei durchlaufen lassen:

Zitat:
@echo off
rem * SignTool by L-ectron-X ( Byte-Welt Forum - Powered by vBulletin )
rem *
rem * Ablauf beim Signieren
rem *
rem * Erzeugen eines eigenen Schlüssels
rem * Mit KeyTool, einem Werkzeug aus dem SDK, einen neuen Schlüssel erzeugen:
rem * keytool -genkey -alias Signer -dname "cn=Dein Name, c=de"
rem * Gib anschließend Dein Passwort ein.
rem
rem * Erzeugen eines Zertifikats
rem * Mit KeyTool Zertifikat erzeugen:
rem * keytool -selfcert -alias Signer -dname "cn=Dein Name, c=de"
rem * Gib anschließend dein Passwort ein.
rem *
rem * Signieren des Applets
rem * Signieren des Applets mit Hilfe des Tools jarsigner
rem * jarsigner signed.jar Signer
rem * Und noch einmal dein Passwort eingeben.

echo = SignTool =
echo Dieses Tool hilft beim Erzeugen von signierten jar-Dateien
echo.
echo Schritt 1: jar-Dateien erzeugen
echo -------------------------------

rem Pfad zum SDK setzen
rem --> anpassen!
set path=.;C:\Programme\Java\jdk1.6.0_16\bin

echo Manifestdatei erzeugen...
echo Manifest-Version: 1.0>manifest.mf
echo Created-by: SignTool by L-ectron-X>>manifest.mf
echo.>>manifest.mf

if exist *.jar goto key
echo jar-Datei mit angegebenen Parametern erzeugen...
rem --> anpassen!
rem * In diesem Beispiel werden alle .class-Dateien und die Verzeichnisse bilder und etc
rem * mit ins jar-Archiv gepackt.
jar cfmv Game.jar manifest.mf *.class img

:key
echo.
echo Schritt 2: Schluessel generieren
echo --------------------------------
rem --> anpassen!
keytool -genkey -alias Signer -dname "cn=Joerg Haefner, c=de"

echo.
echo Schritt 3: Zertifikat erzeugen
echo ------------------------------
rem --> anpassen!
rem -validity 18250 (365 Tage x 50) erzeugt ein 50 Jahre gültiges Zertifikat
keytool -selfcert -validity 3650 -alias Signer -dname "cn=Joerg Haefner, c=de"

if not exist *.jar goto error
echo.
echo Schritt 4: jar-Datei signieren
echo ------------------------------
echo jarsigner erwartet hier nochmals dein Passwort.
rem --> anpassen!
jarsigner Game.jar Signer

echo.
echo Schritt 5: Zertifikat testen
echo ----------------------------
rem --> anpassen!
jarsigner -verify -verbose -certs Game.jar
goto end

:error
echo.
echo Es wurde keine jar-Datei zum Signieren gefunden.
echo Die Erzeugung der jar-Datei ist moeglicherweise fehlgeschlagen.
echo Pruefe deine Eingaben in der Batchdatei!

:end
if not exist manifest.mf goto console
echo.
rem Manifest von Festplatte löschen
del manifest.mf

:console
rem Console für Ausgaben noch geöffnet lassen
echo.
pause
hat alles geklappt. Dann habe ich alle Dateien auf meinen Server ins verzeichnis "test" gelegt und in der viergewinnt.html steht folgendes:
Code:
<html><body>
<applet codebase="http://www.j-haefner.de/test" code="VierGewinnt.class" archive="Game.jar" width=410 height=400></applet>
</body></html>
Aber trotzdem kann er die Dateien nicht finden...

Fehlermeldung:
Zitat:
java.security.AccessControlException: access denied (java.io.FilePermission img//blank.png read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at VierGewinnt.init(VierGewinnt.java:31)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ausnahme: java.security.AccessControlException: access denied (java.io.FilePermission img//blank.png read)
Laden: Klasse game.jar nicht gefunden
java.lang.ClassNotFoundException: game.jar
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: D:\Programming\_projekte_java\4gewinnt_applet\new\game\jar.class (Das System kann den angegebenen Pfad nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.http://www.protocol.file.FileURLConn...onnect(Unknown Source)
at sun.net.http://www.protocol.file.FileURLConn...Stream(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 15:16   #5 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Aber solch ein Programm funktioniert auch ohne signieren.
Code:
public class HelloWeb extends java.applet.Applet {
  public void paint(java.awt.Graphics gc) {
    gc.drawString("Hello Web!", 50, 50);
  }
}
html:
Code:
<html>
<head>
</head>
<body>
<Applet code="HelloWeb.class" width="200" height="200"></Applet>
</body>
</html>
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 16:07   #6 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
da ich das alles importiere:

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

müssen diese Klassen dann auch in die .jar?
Geht das nicht irgendwie automatisch?
Muss ich da einen classpath setzen?
Wenn ja, wie binde ich diese externen öffentlichen Klassen ein?
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 18:04   #7 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Kann denn keiner helfen?
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 19:55   #8 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Ich habe es nun zum laufen gebracht...

Könnte mir vielleicht wer sagen warum er die *.png Bilder aus meinem ordner img nicht anzeigt?

bzw. woran es liegen könnte?

in der jar habe ich diese mitaufgenommen, und diese jar habe ich signiert.

Geändert von Gustl_Java (12.03.2010 um 20:57 Uhr)
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 12.03.2010, 23:27   #9 (permalink)
Java-Forum Team
Site Operator
 
Benutzerbild von L-ectron-X
 
Registriert seit: 24.04.2004
Beiträge: 9.272
Abgegebene Danke: 5
Erhielt 91 Danke für 91 Beiträge
Du brauchst das Applet normalerweise nicht wegen der Einbindung von Bildern signieren.
Das Problem ist, dass du die Bilder nicht über die getCodeBase()-Methode und URL einliest, sondern wahrscheinlich über File oder das Toolkit.
Grafikdateien laden und anzeigen - Byte-Welt Wiki
__________________
Schöne Grüße,
L-ectron-X

Programmieren lernt man nur durch programmieren.

www.java-forum.org - Java programmieren aus Leidenschaft
www.byte-welt.de - Die Welt des Programmierens

Geändert von L-ectron-X (13.03.2010 um 15:01 Uhr)
L-ectron-X ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 13.03.2010, 13:59   #10 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Danke,

lokal funktioniert jetzt das applet im Browser, aber online kommt nun als Fehlermeldung in der Konsole:

Code:
java.lang.NullPointerException
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at VierGewinnt.init(VierGewinnt.java:37)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Ausnahme: java.lang.NullPointerException
Codeauszug:
Code:
public class VierGewinnt extends Applet
{
 JLabel[][] P;
   Panel P_up;
   Panel P_down;
   Label L1;
   ImageIcon image_blanko;
   ImageIcon image_red;
   ImageIcon image_blue;
   game Game;
   int player;
   boolean win;

   public void init()
   {
      java.net.URL imgURL1 = getClass().getResource("blank.png");
      java.net.URL imgURL2 = getClass().getResource("stone_red.png");
      java.net.URL imgURL3 = getClass().getResource("stone_blue.png");
      image_blanko = new ImageIcon(imgURL1); //<-- at VierGewinnt.init(VierGewinnt.java:37 ZEILE 37
      image_red    = new ImageIcon(imgURL2);
      image_blue   = new ImageIcon(imgURL3);
Aber die referenz zeigt doch auf das Objekt?
Was mache ich nun falsch?

Dazu kommt auch noch das es lokal und im compiler selbst oder appletviewer funktioniert, nur online nicht

Hat sich erledigt, bei den Bildern ist auf dem Server PNG groß geschrieben...

Geändert von Gustl_Java (13.03.2010 um 14:49 Uhr)
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 13.03.2010, 15:02   #11 (permalink)
Java-Forum Team
Site Operator
 
Benutzerbild von L-ectron-X
 
Registriert seit: 24.04.2004
Beiträge: 9.272
Abgegebene Danke: 5
Erhielt 91 Danke für 91 Beiträge
Es läuft nun also, auch ohne signieren?
__________________
Schöne Grüße,
L-ectron-X

Programmieren lernt man nur durch programmieren.

www.java-forum.org - Java programmieren aus Leidenschaft
www.byte-welt.de - Die Welt des Programmierens
L-ectron-X ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 13.03.2010, 15:31   #12 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Nein, nur mit signieren.

aber musste dein script von der batch datei anpassen...

mit
jarsigner -verify -verbose -certs Game.jar
hat es leider nicht funktioniert.
aber mit:
jarsigner -signedjar sGame_4Gewinnt.jar Game_4Gewinnt.jar gj22
und dem schlüssel gj22 ging es dann.
Vielleicht habe ich beim erstellen von dem Schlüssel oder Zertifikat... irgendetwas falsch gemacht. egal, es geht.

VierGewinnt-Applet

Gruß
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 13.03.2010, 16:43   #13 (permalink)
Java-Forum Team
Site Operator
 
Benutzerbild von L-ectron-X
 
Registriert seit: 24.04.2004
Beiträge: 9.272
Abgegebene Danke: 5
Erhielt 91 Danke für 91 Beiträge
Wie gesagt, es geht auf jeden Fall, ohne zu signieren.
Poste mal den aktuellen Code, wo du die Bilder lädst und einbindest.
__________________
Schöne Grüße,
L-ectron-X

Programmieren lernt man nur durch programmieren.

www.java-forum.org - Java programmieren aus Leidenschaft
www.byte-welt.de - Die Welt des Programmierens
L-ectron-X ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 13.03.2010, 17:58   #14 (permalink)
Benutzer
Byte
Themenstarter
 
Registriert seit: 11.03.2010
Beiträge: 43
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Stimmt, geht auch mit der .jar die nicht signiert ist.

Lag wohl doch an den Image einbinden...

Egal, aber jetzt weiß ich auch wie man solche eine jar signiert.

Wann muss man diese denn dann signieren?

So habe ich es dann gelöst:
Code:
 ImageIcon image_blanko;
   ImageIcon image_red;
   ImageIcon image_blue;
   game Game;
   int player;
   boolean win;

   public void init()
   {  java.net.URL imgURL1 = getClass().getResource("blank.png");
      java.net.URL imgURL2 = getClass().getResource("stone_red.png");
      java.net.URL imgURL3 = getClass().getResource("stone_blue.png");
      //Erstellung der Komponenten
      image_blanko = new ImageIcon(imgURL1);
      image_red    = new ImageIcon(imgURL2);
      image_blue   = new ImageIcon(imgURL3);
      ......
Gustl_Java ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 14.03.2010, 21:29   #15 (permalink)
Java-Forum Team
Site Operator
 
Benutzerbild von L-ectron-X
 
Registriert seit: 24.04.2004
Beiträge: 9.272
Abgegebene Danke: 5
Erhielt 91 Danke für 91 Beiträge
Zitat: Gustl_Java
Beitrag anzeigen
Wann muss man diese denn dann signieren?
Immer dann, wenn du für den und auf dem Client sicherheitskritische Operationen ausgeführt werden sollen. Bspw. das Laden von Dateien, die Verbindung zu einem anderen Server, den Rechner herunter fahren etc.
__________________
Schöne Grüße,
L-ectron-X

Programmieren lernt man nur durch programmieren.

www.java-forum.org - Java programmieren aus Leidenschaft
www.byte-welt.de - Die Welt des Programmierens
L-ectron-X ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort    

Lesezeichen

Latex Maths & Physics Editor ...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Java Applet im eingeschränkten Benutzeraccount Nemisis Allgemeine Java-Themen 10 22.11.2009 18:13
Hilfe! Java Applet Lake von Anfy - wie in HP einbinden? Allegra68 Deployment 25 11.08.2007 23:49
Java 1.4 Applet, IE 6 und Java 6 funktioniert nicht zusammen Heiko_ Deployment 2 14.06.2007 10:57
Java Applet funktioniert nicht! sandy Deployment 2 27.06.2006 11:41
Java Applet um Serielle Schnittstelle anzusprechen Milka Deployment 3 05.06.2005 23:46


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:06 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de