Avatar billede themanronnie Nybegynder
13. december 2011 - 12:32 Der er 18 kommentarer og
1 løsning

Eksekvering af .jar fil virker kun i cmd.exe, ikke fra windows

Hej Eksperter!
Jeg har et underligt problem. Når jeg i netbeans kompilerer mit javaprogram til en jar fil og kører det ved at dobbeltklikke i windows, stopper udførelsen af programmet, når programmet begynder at benytte det inkluderede sql library(det vil sige at programmet kører fint indtil sql library benyttes).
Hvis jeg i stedet i cmd.exe kører java -jar *filnavn*.jar er der ingen problemer med udførelsen.

Jeg har testet på 4 computere, og det virker på 2 !?

Takker!
Avatar billede hansepeter2 Nybegynder
13. december 2011 - 12:40 #1
Hvilket program er sat til at afvikle jar-filer?
Avatar billede themanronnie Nybegynder
13. december 2011 - 13:08 #2
Hvilket program? Altså er det ikke standard at der er java der kører jar filer :-)?
Avatar billede hansepeter2 Nybegynder
13. december 2011 - 13:23 #3
Jeg tænkte mere på hvilken java-version
Avatar billede themanronnie Nybegynder
13. december 2011 - 13:54 #4
1.7.0 på alle testede maskiner
Avatar billede arne_v Ekspert
13. december 2011 - 16:39 #5
Hvordan finder det JDBC driver jar filen?

Class-Path direktiv i manifest?

CLASSPATH env variabel?
Avatar billede themanronnie Nybegynder
13. december 2011 - 19:20 #6
Jeg er ikke helt sikker på jeg er med arne, vi har i undervisningen endnu ikke stødt på manifest filer, så ved ikke rigtigt hvordan det fungerer.

Det lyder som om at det måske var en dum ide at smide os i netbeans, før vi havde styr på det helt grundlæggende, men har blot tilføjet sqljdbc filen som library i netbeans, og gik ud fra at det var tilstrækkeligt.(det vil sige at filen ligger i samme mappe som jar filerne)

CLASSPATH ? øh :-)
Avatar billede arne_v Ekspert
13. december 2011 - 19:56 #7
Jeg gaetter paa at NetBeans smider en ref til JDBC driver jar filen i manifest paa jeres jar.

Men kopierer I saa JDBC driver jar filen sammen med jeres jar naar I distribuerer?
Avatar billede arne_v Ekspert
13. december 2011 - 19:57 #8
http://docs.oracle.com/javase/tutorial/deployment/jar/

har lidt info omkring alle de fremmedord
Avatar billede themanronnie Nybegynder
13. december 2011 - 21:25 #9
Hey mens du har svaret har jeg lige kigget lidt på docs du også har postet her, og har da formået at blive lidt klogere på hvad der foregår når man beder nb om at lave det beskidte arbejde :-)
Jeg har kigget nærmere på den autogenererede manifest fil der ligger i jar filen, men mit problem er at den ser ganske anstændig ud. Og det er nok også derfor der ikke er problemer på nogle computere.

Men at filen ser fin ud, ændrer stadig ikke at programmet "fryser" eller stopper udførelse når jeg prøvet at tilgå et vindue der benytter den tilknyttede jar-fil.

-har fundet ud af dette ved at fjerne jarfilen, så virker programmet, men naturligvis uden DB adgang :)
og det er så svar på at vi kopierer jarfilen med, og at den ligger det rette sted :)

meget sært det her..
Avatar billede themanronnie Nybegynder
13. december 2011 - 21:26 #10
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0-b147 (Oracle Corporation)
Class-Path: lib\sqljdbc4.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: GUILag.LoginGUI

for god ordens skyld :)
Avatar billede themanronnie Nybegynder
13. december 2011 - 21:31 #11
Og for lige at spamme lidt mere her, så fik jeg lige øje på den her i compilevinduet.. er den relateret til dette?

warning: [options] bootstrap class path not set in conjunction with -source 1.6
Avatar billede arne_v Ekspert
13. december 2011 - 21:31 #12
Class-Path: lib\sqljdbc4.jar

siger at dir struktur skal vaere som:

C:\somewhere\dinjar.jar
C:\somewhere\lib\sqljdbc4.jar
Avatar billede themanronnie Nybegynder
13. december 2011 - 21:36 #13
og det er den også. Og jeg tror også at den finder Jar filen, for programmet fryser kun når den ligger det rigtige sted :-)
Avatar billede arne_v Ekspert
13. december 2011 - 21:39 #14
den warning kan du nok ignorere - den fortaeller dig at du bygger til Java 1.6 med Java 1.7 og at du har Java 1.7 klasser i classpath
Avatar billede arne_v Ekspert
13. december 2011 - 21:39 #15
Hmm.

Viser du alle exceptions?
Avatar billede themanronnie Nybegynder
13. december 2011 - 22:26 #16
Det ser sådan ud, og når jeg kører applikationen fra CMD viser den ingen print(har et print for exceptions, det er en GUI applikation)

fik jeg nævnt at programmet virker hvis jeg kører filen med
java -jar "filnavn.jar" hvis det skulle give et hint?
Avatar billede themanronnie Nybegynder
13. december 2011 - 22:29 #17
eller rettere programmet virker hvis jeg kører filen med java -jar "filnavn.jar" og filnavnet ikke indeholder ø..!?
Avatar billede themanronnie Nybegynder
12. januar 2012 - 08:16 #18
Det var en konflikt med en gammel java der lå og lavede rod, men var i bund og grund versionen. Synes alligevel at du fortjener lidt point for at sørge for at jeg nu ved hvordan du java program egentligt fungerer:p, smid et svar!
Avatar billede arne_v Ekspert
12. januar 2012 - 22:09 #19
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester