Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 09:55 Der er 13 kommentarer og
1 løsning

javac og jar

Her kommer et lille let spørgsmål om javac.
Jeg har programmet et lille program som består af en række klasser, som jeg selv har lavet, hvilket fungere fint. Men jeg har nu brug for nogle API som andre har lavet. Disse er blevet leveret i form af en jar fil. Jeg kan godt få compileren til at bruge disse jar filer, ved at skrive
javac.exe -classpath jfreechart-0.8.1.jar;jcommon-0.6.1.jar -d EKGData.java
Hvilket fint compilere mit program, så længe jeg ikke anvender klasser som jeg selv har lavet (og ligger I samme direktiv som first.java)
Hvis jeg forsøger at anvende egne klasser vil den ikke compilere.

cannot resolve symbol
symbol  : class dataL 
location: class EKGData
    public dataL getLinie(int i)

Det fungere dog hvis jeg skriver
Javac EKGData.java , men nu fungere jar filerne selvfølgelig ikke.

Hvad skriver jeg for at få den til at anvende både mine egne klasser og jar filerne.
Avatar billede kresten Nybegynder
03. maj 2002 - 09:58 #1
Du skal ligge dine jar filer i din classpath, så finder den dem selv.
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:01 #2
Det har jeg prøvet. Jeg har kopier min jar filer ned i det direktiv hvor jeg har mine egne klasser liggende. (Er det det du mener?)
Avatar billede kresten Nybegynder
03. maj 2002 - 10:06 #3
nej, classpath er en system variabel (windows).

Se evt. http://java.sun.com/j2se/1.4/install-windows.html eller spørg igen :)
Avatar billede kresten Nybegynder
03. maj 2002 - 10:07 #4
.. og brug dog et IDE istedet for det der old-school dos prompt fis :)
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:17 #5
Det har jeg gjort da jeg installerede java.
min path fil indeholder det direktiv hvor filerne ligger. Herudover har jeg også prøvet at ligge Jar filere i det direktiv hvor mit program ligger. Så compileren skulle ikke have problemer med at finde dem.
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:23 #6
Kan problemet være at jeg anvender jar filerne forkert. Skal der i programmet tilføjes en linie omkring package?

Her kommer det program jeg ikke kan compile

Import com.jrefinery.chart.XYPlot;

Public class blaaaa
{
    public static void main(String args[])
    {
    EGKData data=new EKGdata(“sdfsdfsda”); //EKGdata er en egen klasse
    }


}

javac blaaa.java
Nu kan den ikke finde com.jrefinery.chart.XYPlot som ligger I jar filen.
Javac –classpath jfreeChart-0.8.1.jar blaaaaa.java
Nu kan den ikke finde EKGData
Avatar billede kresten Nybegynder
03. maj 2002 - 10:25 #7
Så er det fordi du skal angive hele stien til din jar fil. Prøv f.eks. at lav en bat fil hvor der står noget i stil med

set classpath = c:\mineJars\jfreechart-0.8.1.jar;c:\mineJars\jcommon-0.6.1.jar
Avatar billede kresten Nybegynder
03. maj 2002 - 10:26 #8
Oh! HUSK at sæt den til

set classpath = .;c:\mineJars\jfreechart-0.8.1.jar;c:\mineJars\jcommon-0.6.1.jar


Glemte lige current directory, det gør en lidt frustreret.
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:30 #9
Desværre giver det samme resultat som når jeg bare skriver
Javac –classpath jfreeChart-0.8.1.jar blaaaaa.java
Nu kan den ikke finde mine egne klasser. (Det så ellers godt ud (O: )
Avatar billede kresten Nybegynder
03. maj 2002 - 10:35 #10
er det ikke fordi du glemmer current dir?
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:44 #11
Mange tak, fejlen er at der i min classpath også skal stå
.;
(O:
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:45 #12
Du har fået point ????
Avatar billede kresten Nybegynder
03. maj 2002 - 10:46 #13
ja, men points er nu ligemeget - sålænge du er blevet klogere.
Avatar billede jakob_madsen Nybegynder
03. maj 2002 - 10:50 #14
(O: Ja bestemt meget. Det er sjovt som det man bruger mest tid på er "Hello world" problmer som dette.
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