Warning bei Build jar

hk

Bekanntes Mitglied
Beim Aufruf meiner jar Datei blitzt kurz ein Fenster auf und dann passiert nichts. Beim Kompilieren kommt jedoch folgende Warnung:

"Warning: From JDK7u25 the Codebase manifest attribute should be used to restrict JAR repurposing.
Please set manifest.custom.codebase property to override the current default non-secure value '*'"

Ich verwende NetBeans IDE 8.2
lg heinz
 

LimDul

Top Contributor
Mein Google Foo sagt - das ist nur für Java Webstart relevant.

Um die Probleme mit deiner Jar datei zu sehen - ruf sie mal von der Kommandozeile auf. Vermutlich wird es eine Exception geben und dann geht das Fenster halt direkt wieder zu. Aufruf von der Kommandozeile: java -jar <jar-Datei>
 

hk

Bekanntes Mitglied
Mein Google Foo sagt - das ist nur für Java Webstart relevant.

Um die Probleme mit deiner Jar datei zu sehen - ruf sie mal von der Kommandozeile auf. Vermutlich wird es eine Exception geben und dann geht das Fenster halt direkt wieder zu. Aufruf von der Kommandozeile: java -jar <jar-Datei>
Danke für die rasche Antwort.
Da gibt es folgende Fehlermeldung:

PS C:\Users\User> java -jar C:\MainWindow.jar
Datei nicht gefunden
File not found
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$1(LauncherImpl.java:182)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at mainwindow.MainWindow.start(MainWindow.java:90)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:187)
... 1 more
Exception running application mainwindow.MainWindow
PS C:\Users\User>
 
K

kneitzel

Gast
Dann schau mal in MainWindow.java Zeile 90 was Du da in MainWindow.start machst, das dann eine NPE wirft ... Da willst Du vermutlich etwas initialisieren, was fehl schlägt.
 

hk

Bekanntes Mitglied
Dann schau mal in MainWindow.java Zeile 90 was Du da in MainWindow.start machst, das dann eine NPE wirft ... Da willst Du vermutlich etwas initialisieren, was fehl schlägt.
Ich setzte dort einen EventHandler. Mit Run funktioniert das tadellos.

Java:
   // Event-Handler zum Testen
    ivGameBoard.addEventHandler(MouseEvent.MOUSE_RELEASED,
      new EventHandler<MouseEvent>() {
          @Override public void handle(MouseEvent e) {
            String s = "NO";
            Point p = new Point((int) e.getX(), (int) e.getY());
            for(Field f : fieldList) {
              s = f.getSphere(p);
              if(s != "NO") break;
            }

              anzeige.setText(s);
          }
      });
 
K

kneitzel

Gast
Zeig den ganzen Code. Wie ist ivGameBoard initialisiert worden? Was machst Du sonst so in Klasse.

Ich würde ja vermuten, dass
Java:
Datei nicht gefunden
File not found
von deinem Code kommt. Also einfach mal in einem Exception Handling was ausgegeben und nicht weiter die Exception behandelt.

Und dann ist auch klar, was die Problematik ist: Da eine Datei im JAR nicht so geladen werden kann wie in der IDE, schlägt da etwas fehl und eine Variable bleibt null.

Aber da jetzt im Nebel zu stochern ist blöd ... vermutlich greifst Du auf normale Datei-Methoden zurück. Um etwas aus dem JAR zu laden greifst Du aber über den Classloader auf die Ressourcen zu. Findet sich auch regelmäßig im Forum. Such mal nach getResourceAsStream oder so :)
 

hk

Bekanntes Mitglied
Zeig den ganzen Code. Wie ist ivGameBoard initialisiert worden? Was machst Du sonst so in Klasse.

Ich würde ja vermuten, dass
Java:
Datei nicht gefunden
File not found
von deinem Code kommt. Also einfach mal in einem Exception Handling was ausgegeben und nicht weiter die Exception behandelt.

Und dann ist auch klar, was die Problematik ist: Da eine Datei im JAR nicht so geladen werden kann wie in der IDE, schlägt da etwas fehl und eine Variable bleibt null.

Aber da jetzt im Nebel zu stochern ist blöd ... vermutlich greifst Du auf normale Datei-Methoden zurück. Um etwas aus dem JAR zu laden greifst Du aber über den Classloader auf die Ressourcen zu. Findet sich auch regelmäßig im Forum. Such mal nach getResourceAsStream oder so :)
Ok, ich werde mal suchen,
danke und lg heinz
 

hk

Bekanntes Mitglied
Ok, ich werde mal suchen,
danke und lg heinz
Zeig den ganzen Code. Wie ist ivGameBoard initialisiert worden? Was machst Du sonst so in Klasse.

Ich würde ja vermuten, dass
Java:
Datei nicht gefunden
File not found
von deinem Code kommt. Also einfach mal in einem Exception Handling was ausgegeben und nicht weiter die Exception behandelt.

Und dann ist auch klar, was die Problematik ist: Da eine Datei im JAR nicht so geladen werden kann wie in der IDE, schlägt da etwas fehl und eine Variable bleibt null.

Aber da jetzt im Nebel zu stochern ist blöd ... vermutlich greifst Du auf normale Datei-Methoden zurück. Um etwas aus dem JAR zu laden greifst Du aber über den Classloader auf die Ressourcen zu. Findet sich auch regelmäßig im Forum. Such mal nach getResourceAsStream oder so :)
Ich habe eine Datei welche ich mit "src/data/punkte.txt" anspreche. Das funktioniert in der NetBean-Umgebung natürlich. Wenn der jar-File jetzt woanders steht, kann er die Datei ja wohl nicht finden. Liege ich richtig? Ich habe versucht den jar-File in das Source-Verzeichnis zu stellen, somit gleiche Umgebung. Aber auch dort wird die Datei nicht gefunden. Muss ich da jetzt einen absoluten Pfad für den Zugriff definieren oder gibt es wo eine Anleitung wie man das jar und seine Umgebung aufbaut?
lg heinz
 
K

kneitzel

Gast
Die Datei musst Du mit ins Jar-File packen (als Ressource Datei - wie das geht, hängt vom Build System ab. Evtl. ist es schon drin im Ordner data. Einfach mal in die Jar Datei rein schauen.)

Dann erfolgt der Zugriff auf die Datei mit getResource bzw. getResourceAsStream welche in Class und Classloader zu finden sind. (Meist verwendet man einfach die Klasse, also etwas wie getClass().getResource("/data/punkte.txt").
Welche der beiden Methoden Sinn macht, hängt davon ab, was Du weiter damit machst. Wenn Du sie direkt selbst lesen willst mit Stream oder Reader, dann nimmst Du getResourceAsStream...
 

hk

Bekanntes Mitglied
Die Datei musst Du mit ins Jar-File packen (als Ressource Datei - wie das geht, hängt vom Build System ab. Evtl. ist es schon drin im Ordner data. Einfach mal in die Jar Datei rein schauen.)

Dann erfolgt der Zugriff auf die Datei mit getResource bzw. getResourceAsStream welche in Class und Classloader zu finden sind. (Meist verwendet man einfach die Klasse, also etwas wie getClass().getResource("/data/punkte.txt").
Welche der beiden Methoden Sinn macht, hängt davon ab, was Du weiter damit machst. Wenn Du sie direkt selbst lesen willst mit Stream oder Reader, dann nimmst Du getResourceAsStream...
Ja, das hat funktioniert. Mit "getClass().getResourceAsStream("/data/punkte.txt")" läuft es nun auch als jar.
Danke und lg heinz
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J WARNING: An illegal reflective access operation has occurred, beim Compilieren von JasperReports, was bedeutet das ? Allgemeine Java-Themen 23
G Warnung in der Konsole von Eclipse "WARNING: ..." Allgemeine Java-Themen 2
H Netbeans Warning bei Thread.sleep in Schleife Allgemeine Java-Themen 4
E NetBeans warning: [options] bootstrap class path not set in conjunction with -source 1.6 Allgemeine Java-Themen 4
C Klassen Warning "synthetic access" bei innerer Klasse Allgemeine Java-Themen 15
S Keine Exception-Warning in Eclipse Allgemeine Java-Themen 3
E Heap und Comparable (warning: [unchecked] unchecked cast) Allgemeine Java-Themen 2
G GC Warning: Repeated allocation of very large block Allgemeine Java-Themen 35
N Warning "The Cast from Object to" Allgemeine Java-Themen 9
T JNI: jcharArray: warning: cast to pointer from integer of. Allgemeine Java-Themen 5
N warning bei Vectoren Allgemeine Java-Themen 15
N warning beim compilieren des eigenen TableRenderers Allgemeine Java-Themen 5
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
D Eclipes Build Path Allgemeine Java-Themen 9
J build.xml erweitern Allgemeine Java-Themen 2
W IDEA IntelliJ Build-Management-Tool selbst programmieren Allgemeine Java-Themen 2
C JUNIT - ANT - build.xml Allgemeine Java-Themen 0
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
VfL_Freak Ant [build.xml] 'includeantruntime' was not set Allgemeine Java-Themen 2
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
M net4j in Eclipse, installiert aber nicht im Build-path Allgemeine Java-Themen 4
J Eclipse Java Build Path / Java Problem??? Allgemeine Java-Themen 13
G Eclipse Wie mit Ant build.xml externe Jar´s einbinden? Allgemeine Java-Themen 5
M Eclipse -> Build Path Allgemeine Java-Themen 8
D Eclipse-build vs. Jar-Ausführung Allgemeine Java-Themen 3
J XML: JDOM + builder.build() hängt einfach Allgemeine Java-Themen 3
sparrow Ant build-files rekursiv aus ant aufrufen Allgemeine Java-Themen 3
S Automatischer Build Allgemeine Java-Themen 2
S Eclipse zeigt build.xml immer als fehlerhaft Allgemeine Java-Themen 12
L Eclipse VM/JRE für Ant Build benutzen Allgemeine Java-Themen 1
I Was ist ein binray / source Build ? Allgemeine Java-Themen 3
G DBzugriff funktioniert nach 'Build Main Project' nicht mehr Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben