Avatar billede sbk200 Nybegynder
17. juni 2004 - 10:14 Der er 32 kommentarer og
1 løsning

Udvikling til Microsoft VM

Hej, Jeg udvikler en simpel applet til som skal kunne køre på en microsoft VM. Dvs. at jeg må kompilere med option -target 1.1.
Mange gange har jeg dog haft det problem at jeg er kommet til at benytte noget i API'et som ikke understøttes af Microsoft VM. Jeg får ingen kompiler fejl. Kan jeg få lidt vejledning til at komme uden om dette problem .. Jeg anvender Netbeans 3.6 som udviklingsplatform
Avatar billede arne_v Ekspert
17. juni 2004 - 10:20 #1
De to oplagte muligheder er:

1)  installerer SUN JDK 1.1.8

2)  installer MS JDK (MS distrubuerer den ikke længere, men den kan godt findes
    på nettet)

#1 bør virke helt uden problemer i NetBeans.

Jeg synes bestemt at jeg har set at NetBeans også understøtter MS JDK
(jvc i.s.f. javac etc.), men jeg kan huske forkert.
Avatar billede arne_v Ekspert
17. juni 2004 - 10:22 #2
Avatar billede sbk200 Nybegynder
17. juni 2004 - 10:29 #3
Har installeret jdk1.1.8. Men har problemer med at sætte 'Extern Compiler' Property korrekt i Netbeans.
Avatar billede arne_v Ekspert
17. juni 2004 - 10:34 #4
Hm.

Jeg har ikke NetBeans installeret på arbejde.

Men der er nogle NetBeans brugere her. Så forhåbentligt kigger en af dem forbi.
Avatar billede sbk200 Nybegynder
17. juni 2004 - 10:53 #5
Får fejlen:
"Package java.awt not found in import" når jeg kompilere. Mit API er vist ikke sat korrekt op :o(
Avatar billede _carsten Nybegynder
17. juni 2004 - 12:19 #6
Hvis dit install dir er C:\jdk1.1.8\

Skulle det virke ved at skrive C:\jdk1.1.8\bin\javac.exe  under

Compiler Types | External Compilation | External Compiler

Her står i forvejen (måske) {jdk.home}{/}bin{/}javac.exe {...}{..}{..}{..}{..}
Avatar billede sbk200 Nybegynder
17. juni 2004 - 12:36 #7
Det gør den.
External Compiler: C:\jdk1.1.8\bin\javac.exe {debuginfo} {deprecation} {optimize} {outputdir} {encoding} {source.opt} {bootclasspath.opt} {bootclasspath} -classpath {filesystems}{:}{classpath} {files}

Boot Class Path: (tom)
Boot Classpath Tag Replace: -bootclasspath
Class Path: (tom)

Jeg får fejlen beskrevet ovenfor: "Package java ... osv"
Avatar billede _carsten Nybegynder
17. juni 2004 - 14:49 #8
Det har du da ret i, man hente JRE også

Hvis install af SDK her:  C:\jdk1.1.8\
Hvis install af JRE her:  C:\JRE1.1.8\

SÅ: Compiler Types | External Compilation | External Compiler

C:\jdk1.1.8\bin\javac.exe {debuginfo} {deprecation} {optimize} {outputdir} {encoding} {source.opt} {bootclasspath.opt} {bootclasspath} -classpath {filesystems}{:} -classpath c:\jre1.1.8\1.1\lib\rt.jar {files}

Og hvis du tilføjer ny executor, så:
    Debugging and Executing | Execution Types | tilføj ny
C:\jre1.1.8\1.1\bin\jre.exe {assertEnabled} -cp {filesystems}{:}{classpath} {classname} {arguments}

Så ruller det!
Avatar billede sbk200 Nybegynder
17. juni 2004 - 16:38 #9
Den melder fejl på min kildekode som er placeret i sin egen pakke.
"FILENAME.jaca Package util not found in import"

util er mappen som holder kilde koden for nogel hjælpe klasser jeg har lavet. Hvad går mon galt ?
Avatar billede _carsten Nybegynder
17. juni 2004 - 17:17 #10
Hvad så hvis du tager den med i classpath:  c:\jre1.1.8\1.1\lib\rt.jar;C:\XXXX\util
Avatar billede _carsten Nybegynder
17. juni 2004 - 22:02 #11
Virker det ???
Avatar billede _carsten Nybegynder
17. juni 2004 - 22:38 #12
Her er hele opskriften, måske lidt mere detaljeret

Det er iøvrigt kun nødvendigt at hente og installere JDK1.1.8 hvis man husker at installere den medfølgende source, hvilket jeg ikke gjorde i første omgang, du behøver altså ikke JRE


Højreklik på 'Compiler Types' og vælg New og kald den evt: Jdk 1.1.8 Compiler

Klik til højre for 'External Compiler'
  Under Process skal der stå:  C:\jdk1.1.8\bin\javac.exe
 
  Under Arguments skal der stå:
{debuginfo} {deprecation} {optimize} {outputdir} {encoding} {source.opt} {bootclasspath.opt} {bootclasspath} -classpath {filesystems}{:} -classpath C:\jdk1.1.8\lib\classes.zip {files}



Gå til 'Debugging an Execution'
Højreklik på 'Execution Types' og vælg New og kald den evt: Jdk 1.1.8 Execution

Klik til højre for 'External Process'
  Under Process skal der stå:  C:\jdk1.1.8\bin\java.exe
 
  Under Arguments skal der stå:
  -classpath  .;C:\jdk1.1.8\lib\classes.zip {classname} {arguments}
 
  HER SKAL DU SAMTIDIG HUSKE AT VÆLGE 'Working dir' (dir hvor fil afvikles fra)
 
 
Herefter højreklikker du på den *.java fil som du vil compile og eksekvere under 1.1.8
og vælger 'Properties',
sæt Compiler = Jdk 1.1.8 Compiler og sæt Executor = Jdk 1.1.8 Execution
Avatar billede _carsten Nybegynder
17. juni 2004 - 22:45 #13
Mht. package util, går jeg udfra den ligger i dit Working dir
Avatar billede sbk200 Nybegynder
18. juni 2004 - 07:49 #14
Hej,.. Første løsning med anvendelse af JRE kompilerer (Men melder ikke fejl hvis jeg 'kommer til' at bruge noget fra ex. javax.swing). Den anden giver mig stadig import fejlen. Skal 'Jdk 1.1.8 Execution'->'Working Directory' pege på class eller src filerne. Jeg har prøvet begge og lige lidt hjælper det.  :o)
Avatar billede sbk200 Nybegynder
18. juni 2004 - 07:51 #15
Jeg vælger compiler og executer i
Editing->Java Sources->Default Compiler
Editing->Java Sources->Default Executor
Avatar billede _carsten Nybegynder
18. juni 2004 - 08:16 #16
Vi starter forfra

Du vælger: Tools -> Options
Her expander du mappen Building, dernæst mappen Compiler Types

Højreklik på 'Compiler Types' og vælg New og kald den evt: Jdk 1.1.8 Compiler

Klik til højre for 'External Compiler'
  Under Process skal der stå:  C:\jdk1.1.8\bin\javac.exe
 
  Under Arguments skal der stå:
{debuginfo} {deprecation} {optimize} {outputdir} {encoding} {source.opt} {bootclasspath.opt} {bootclasspath} -classpath {filesystems}{:} -classpath C:\jdk1.1.8\lib\classes.zip {files}


Derefter:

Expand mappen Debugging and Execution, derefter expand Execution Types
Højreklik på 'Execution Types' og vælg New og kald den evt: Jdk 1.1.8 Execution

Klik til højre for 'External Process'
  Under Process skal der stå:  C:\jdk1.1.8\bin\java.exe
 
  Under Arguments skal der stå:
  -classpath  .;C:\jdk1.1.8\lib\classes.zip {classname} {arguments}
 
  HER SKAL DU SAMTIDIG HUSKE AT VÆLGE 'Working dir' (dir hvor fil afvikles fra) src-filer
Avatar billede _carsten Nybegynder
18. juni 2004 - 08:17 #17
Iøvrigt - lav den FULDE install af JDK ikke JRE
Avatar billede _carsten Nybegynder
18. juni 2004 - 08:29 #18
Mht. din kom. 18/06-2004 07:51:12, så kan du selvfølgelig godt bagefter sætte 1.1.8 som default compiler og executor til det projekt.
Avatar billede sbk200 Nybegynder
18. juni 2004 - 08:31 #19
Det du beskriver er hvad jeg har gjort og netop prøvet igen.. men det giver stadig import fejlen..
Avatar billede sbk200 Nybegynder
18. juni 2004 - 08:36 #20
Hvor kigger kompileren når noget der i kilden er skrevet import util.* ?
Avatar billede sbk200 Nybegynder
18. juni 2004 - 08:41 #21
Skal stien måske med i Arguments til Compileren
Avatar billede _carsten Nybegynder
18. juni 2004 - 08:50 #22
Nej du skal have den med i classpath til compileren

  Under Arguments skal der stå:
{debuginfo} {deprecation} {optimize} {outputdir} {encoding} {source.opt} {bootclasspath.opt} {bootclasspath} -classpath {filesystems}{:} -classpath C:\jdk1.1.8\lib\classes.zip;C:\XXXXXXXXXXXXXXX\util {files}

HUSK SEMIKOLON    zip;C
Avatar billede _carsten Nybegynder
18. juni 2004 - 09:00 #23
Det er delvis noget sludder

Hvis du har stien
  C:\xxx\yyy\WORKINGDIR\*.java
og util
  C:\xxx\yyy\WORKINGDIR\util\*.java

Skal den se sådan ud: C:\jdk1.1.8\lib\classes.zip;C:\xxx\yyy\WORKINGDIR
Avatar billede _carsten Nybegynder
18. juni 2004 - 09:55 #24
Er du gået kold ????
Avatar billede sbk200 Nybegynder
18. juni 2004 - 10:01 #25
:o) ,.. Nej, Det virkede bare ikke på mit projekt. Men lavede et nyt så nu er jeg flyvende. For kompiler fejl hvis jeg anvender ex. javax.swing.Jbutton ..juhuuu..

Men da det er en applet jeg laver skal jeg jo have en applet executer ,.. kan du rysten en sådan ud af ærmet ? ;o)
Avatar billede _carsten Nybegynder
18. juni 2004 - 10:12 #26
Mon ikke den her skulle klare det

Expand mappen Debugging and Execution, derefter expand Execution Types
Højreklik på 'Execution Types' og vælg New og
kald den evt: Jdk 1.1.8 Applet Execution

Klik til højre for 'External Process'
  Under Process skal der stå:  C:\jdk1.1.8\bin\appletviewer
 
  Under Arguments skal der stå:
  -classpath  .;C:\jdk1.1.8\lib\classes.zip {classname} {arguments}
Avatar billede sbk200 Nybegynder
18. juni 2004 - 10:18 #27
Fejl:
I/O exception while reading: \C:\Program Files\NetBeans3.6\-classpath
Make sure that -classpath is a file and is readable.

Skal {URL] ikke anvendes ?
Avatar billede _carsten Nybegynder
18. juni 2004 - 10:22 #28
Jeg ved ikke om det mig som er for søvnig eller hvad det, men copy/paste kan være en farlig ting.

  Under Arguments skal der stå:
  {URL}

Og så tester jeg lige, mens du gør det samme
Avatar billede sbk200 Nybegynder
18. juni 2004 - 10:29 #29
Det hjalp her !!
Avatar billede _carsten Nybegynder
18. juni 2004 - 10:34 #30
Også her.

Er vi ikke ved at være der henne hvor jeg kan tillade mig at lægge et svar ??
Det er ihvertfald gjort nu
Avatar billede sbk200 Nybegynder
18. juni 2004 - 10:36 #31
Lige præcis,.. Du får velfortjente point og jeg siger MANGE tak for hjælpen !!! :o)
Avatar billede sbk200 Nybegynder
23. juni 2004 - 10:56 #32
Carsten lige et tillægs spm (Giver gerne point). Hvordan ser man hvad netbeans erstatter {URL} tag'et med ?
Avatar billede _carsten Nybegynder
24. juni 2004 - 14:15 #33
Sorry - har holdt lav profil herinde de sidste par dage, er ved at geare ned til ferien, så jeg har ikke lige set dit indlæg.

Der bliver jeg dig svar skyldig - jeg ved det ikke.
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