Avatar billede gladmhensk Nybegynder
03. juni 2003 - 20:23 Der er 47 kommentarer og
1 løsning

Køre java filer uden cmd kommandoer

Har søgt info om dette, men uden held.
Jeg har en Java og en Class fil.
Et eksempel kan være:
Count.java
Count.class

Hvordan gør jeg så jeg bare skal dobbelt-klikke på java filen for at køre det ?

NB: Jeg vil ikke lave det til en exe fil.
Avatar billede riversen Nybegynder
03. juni 2003 - 20:26 #1
du laver en jar fil ud fra class filen. Java filen er jo bare kildekode og fuldstændig ubrugelig i den sammenhæng

http://java.sun.com/docs/books/tutorial/jar/basics/index.html
http://java.sun.com/j2se/1.4.1/docs/tooldocs/windows/jar.html
Avatar billede arne_v Ekspert
03. juni 2003 - 20:28 #2
Du laver en executable jar-fil ud af det (en jar-fil med et
Main-Class direktiv i manifestet).

Hvis Java er installeret korrekt på PC'en så bør du kunne
dobbelt-klikke på jar-filen.
Avatar billede riversen Nybegynder
03. juni 2003 - 20:30 #3
og hvis ikke det virker med dobbeltklik, kan du kigge i mine oprettede spørgsmål. Der har arne løst problemet for mig :-)
Avatar billede arne_v Ekspert
03. juni 2003 - 20:31 #4
Count.mf med 1 linie (husk linie-skift til sidst):

Main-Class: Count

Og lav count.jar med:

jar cvmf count.jar Count.mf Count.class

så bør det virke.
Avatar billede arne_v Ekspert
03. juni 2003 - 20:33 #5
Der er en del der har problemer med det dobbelt-klik.

Hvis det er noget der skal bruges tit så lav et shortcut
til javaw.exe og ændre linien til:

C:\j2sdk1.4.1_02\bin\javaw.exe -jar count.jar

[ret directory til hvis andet]
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 20:39 #6
Den går i kage bare jeg skriver:
jar cvmf count.jar Count.mf Count.class
i cmd...
Den kommer med en besked: 'jar' blev ikke genkendt bla bla bla.....

Men går jeg ind under C:\j2sdk1.4.1_02\ er der en mappe der hedder JRE....
Avatar billede arne_v Ekspert
03. juni 2003 - 20:41 #7
Prøv med:

C:\j2sdk1.4.1_02\bin\jar cvmf count.jar Count.mf Count.class
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 20:42 #8
i cmd ?
Avatar billede arne_v Ekspert
03. juni 2003 - 20:46 #9
Ja i et kommando vindue (det som man ofte kalder en DOS box).
Avatar billede repsak Nybegynder
03. juni 2003 - 20:51 #10
Hvis man vil slippe for .jar så kan man jo også bare lave .bat klassikeren

c:\java\...\java.exe Count.class

gemt som f.eks. JavaProgram.bat
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:04 #11
Har prøvet stort set alt i har foreslået nu :(
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:06 #12
Når du laver en jar med manifest, skal du bytte om på Count.jar og Count.mf

Sådan:        jar cvmf Count.mf count.jar Count.class
Avatar billede arne_v Ekspert
03. juni 2003 - 21:06 #13
Hvilke fejl får du ?
Avatar billede arne_v Ekspert
03. juni 2003 - 21:13 #14
carsten>

Det er rigtigt.

Der er en lile giftighed:

The manifest file name and the archive file name needs to be specified
in the same order the 'm' and 'f' flags are specified.
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:18 #15
C

C:\java\Classes>C:\j2sdk1.4.1_01\bin\jar.exe -jar cvmf Count.mf count.jar Count.
class
Illegal option: j
Usage: jar {ctxu}[vfm0Mi] [jar-file] [manifest-file] [-C dir] files ...
Options:
    -c  create new archive
    -t  list table of contents for archive
    -x  extract named (or all) files from archive
    -u  update existing archive
    -v  generate verbose output on standard output
    -f  specify archive file name
    -m  include manifest information from specified manifest file
    -0  store only; use no ZIP compression
    -M  do not create a manifest file for the entries
    -i  generate index information for the specified jar files
    -C  change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name and the archive file name needs to be specified
in the same order the 'm' and 'f' flags are specified.

Example 1: to archive two class files into an archive called classes.jar:
      jar cvf classes.jar Foo.class Bar.class
Example 2: use an existing manifest file 'mymanifest' and archive all the
          files in the foo/ directory into 'classes.jar':
      jar cvfm classes.jar mymanifest -C foo/ .


C:\java\Classes>
Avatar billede arne_v Ekspert
03. juni 2003 - 21:20 #16
Der skal ikke -jar på jar kommandoen.
Avatar billede arne_v Ekspert
03. juni 2003 - 21:20 #17
C:\j2sdk1.4.1_01\bin\jar.exe -jar cvmf Count.mf count.jar Count.class
Avatar billede arne_v Ekspert
03. juni 2003 - 21:21 #18
Altså:

C:\j2sdk1.4.1_01\bin\jar.exe cvmf Count.mf count.jar Count.class

og:

C:\j2sdk1.4.1_01\bin\javaw.exe -jar count.jar
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:23 #19
Der kommer den samme besked :/
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:24 #20
NEJ NEJ NEJ !!! DET VIRKER !!
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:25 #21
såen da...
Nu har den skabt count.jar, men når jeg åbner den går den ind på www.winace.com
Avatar billede arne_v Ekspert
03. juni 2003 - 21:30 #22
Prøv og lav et shortcut med:

C:\j2sdk1.4.1_01\bin\javaw.exe -jar count.jar

og start i:

C:\java\Classes
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:32 #23
Umiddelbart vil jeg sige ddu har lavet genvejen til den forkerte fil

arne_v

Ja - jeg vil endda gå så vidt som til at, java indeholder en del af dem !!
Avatar billede arne_v Ekspert
03. juni 2003 - 21:35 #24
Jeg tror at han har installeret WinACE (som vistnok er sådan en
allround udpakke program) og det har sat sig på .jar extension,
men af en elelr anden grund vælger at åbne deres web-site.
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:36 #25
grunden til, at den starter winace er fordi den er sat til at åbne ca. 20 forskellige slags filer...
Jeg har nu afinstalleret det.
arne_v der sker intet med:

C:\j2sdk1.4.1_01\bin\javaw.exe -jar count.jar
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:37 #26
winace er sat til at starte ca. 20 forskellige fil typer...(hvis det var uklart :)
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:38 #27
Okay - har hørt om det, men det er også det eneste !
Avatar billede arne_v Ekspert
03. juni 2003 - 21:39 #28
Jeg synes at du skulle få det til at holde snitterne fra jar-filer !

Men prøv lige og se om du kan få det til at virke med shortcut !
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:41 #29
Vil pille i windows og se om jeg kan få skidtet til at køre :)
Avatar billede arne_v Ekspert
03. juni 2003 - 21:41 #30
Der burde ske noget ved:

C:\j2sdk1.4.1_01\bin\javaw.exe -jar count.jar

men vent nu lige lidt - er det en GUI applikation (Swing) eller
en console applikation (System.out.println) ?
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:42 #31
simpelt System.out.println ......
Avatar billede arne_v Ekspert
03. juni 2003 - 21:43 #32
Så prøv med:

C:\j2sdk1.4.1_01\bin\java.exe -jar count.jar

(ikke noget W !)
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:43 #33
Hov, mangler du ikke C:\java\Classes

C:\j2sdk1.4.1_01\bin\javaw.exe -jar C:\java\Classes\count.jar
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:44 #34
Eller hvor ligger count.jar ????
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:46 #35
count.jar ligger i C:\java\Classes\
I behøver ikke hjælpe mere...
Avatar billede arne_v Ekspert
03. juni 2003 - 21:48 #36
Virker det ?
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:48 #37
Det afhænger selvfølgelig også af hvad du har skrevet i dit manifest !
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:48 #38
Trór det virker nogenlunde nu, da den siger at den ikke kan finde nogen main class...men det løser jeg...håber jeg :)
Avatar billede arne_v Ekspert
03. juni 2003 - 21:50 #39
Hvis manifest filen indeholder det den skal.

(og du ikke har brugt package og du har huske linie-skiftet i manifest filen
så bør det faktisk virke)
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:51 #40
Så er det manifest dit manifest som er problemet

Hvis jeg husker rigtigt er det:

Class-Path: C:\java\Classes\
Main-Class: Count



Korriger mig hvis jeg husker forkert arne_v !
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:52 #41
Hvordan laver man linie skift ?
(Har aldrig lavet såen nåt her før...)
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:52 #42
Og selvfølgelig linieskift efter Count "VERY IMPORTANT"
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:53 #43
Trykker på ENTER efter Count
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 21:54 #44
Det gjorde ingen forskel...kan stadigvæk ikke finde main class
Avatar billede _carsten Nybegynder
03. juni 2003 - 21:59 #45
har du 'package' med i din java fil

altså:

package java.classes;
import bla.bla.bla

public class Count.........
...
Avatar billede gladmhensk Nybegynder
03. juni 2003 - 22:00 #46
drop det...geninstallerer hele java miljøet...nu går det hele nemlig i kludder...drop det
Avatar billede _carsten Nybegynder
03. juni 2003 - 22:05 #47
Okay - your choice!

Men bare lige til orientering, det er ikke nødvendigt at skille hele computeren ad - det faktum at man har valgt at lave en jar fil, er samtidig ensbetydende med, at man måske kommer til at græde snot et par dage eller tre
inden det virker - det er ikke så simpelt som det umiddelbart ser ud til og mulighederne fejl er mange

Har selv stået i lo.. til halsen desangående !!!

Held og lykke med det

Carsten
Avatar billede gladmhensk Nybegynder
04. juni 2003 - 16:58 #48
Hehe ok. Jeg må modne mig med tålmodighed :/
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