Toon posts:

Class not found

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi medeTweakers,

Heb ik een leuk class bestandje laten genereren, wil ik deze dus op een andere pc runnen met de jre 1.1.8, doet ie het niet.
Ik heb keurig de jre 1.1.8 runtime gedowned en ook prima ge-installeerd.
Op het moment dat ik via de cmdLine ingeef: jre piet.class of jre piet, dan volgt de melding: Class not found :(
Dit alles doe ik in een map: c:\tmp. En op W2k Prof.
JRE wordt wel degelijk gevonden maar het class-bestand dus niet.
Ik heb ook gespeeld met de Classpath variabele.
Maar dit alles wilt dus niet helpen.
Help :o

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En met `java piet` ?

Verwijderd

Topicstarter
maar 'java' is geen onderdeel van jre, wel van jdk.
Maar ik wil dus een runtime omgeving creeren :9

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 18 oktober 2001 21:00 schreef banderas het volgende:
maar 'java' is geen onderdeel van jre, wel van jdk.
Maar ik wil dus een runtime omgeving creeren :9
Java zit toch _ook_ in de jre :?

Javac niet, maar java wel toch ??

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
De Java VM (die zowel in de JRE als de JDK zit) wordt uiteraard gewoon gestart via het commando 'java' gevolgd door de klasse naam (zonder .class).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Hi,
Het is echt waar, maar het programma 'java.exe' zit niet bij JRE 1.1.8.
Dit zijn de uitvoerbestanden die wel bij jre 1.1.8 zitten.
C:\Program Files\JavaSoft\JRE\1.1\bin\jre.exe
C:\Program Files\JavaSoft\JRE\1.1\bin\jrew.exe
C:\Program Files\JavaSoft\JRE\1.1\bin\rmiregistry.exe
C:\Program Files\JavaSoft\JRE\1.1\bin\javakey.exe

- Bij uitvoering via jre komen meldingen op standaardOut.
- Meldingen bij uitvoering via jrew komen terecht in het zwarte gat.
- Rmiregistry maakt een serverRegistry actief voor skeletonClasses.
- Javakey is voor het vertrouwen (for the good guy's). En dat in deze bizarre tijden. ;)

Maar nog steeds 'Class not found' bij me :'(

  • DiveZoner
  • Registratie: Augustus 2001
  • Laatst online: 09-08 17:07
Wat is je class definitie. Geef effe het bovenste gedeelte van je klasse weer.

Sign here: _________________


Verwijderd

Topicstarter
Hi,
Ok zal ik dan de hele classSource geven?
bij deze:
----------------------------------------------------
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class SndEmail
{
public static void main (String[] args)
throws MessagingException
{
if (args.length < 3)
{
System.out.println (
"Usage: jre SndEmail smtpHost fromAdress toAdress");
System.exit(1);
}

String smtpHost = args[0];
String fromAddress = args[1];
String toAddress = args[2];

Properties properties = System.getProperties ();
properties.put ("mail.smtp.host", smtpHost);
Session session = Session.getInstance (properties, null);

MimeMessage message = new MimeMessage (session);
message.setFrom (new InternetAddress (fromAddress));
message.setRecipient
(Message.RecipientType.TO, new InternetAddress (toAddress));
message.setSubject ("Hallo Imeeltje");
message.setText ("komt e-mail aan?");

Transport.send (message);
}
}
------------------------------------------
Starten:
jre SndEmail smtpHost fromEmail toEmail
------------------------------------------
Is dit een beetje netjes gemaakt. (geef eerlijk je mening, 8-) of is het :r )

  • DiveZoner
  • Registratie: Augustus 2001
  • Laatst online: 09-08 17:07
En hoe probeer je dit precies op te starten??? (effe de exacte command prompt opdracht)

Sign here: _________________


  • DiveZoner
  • Registratie: Augustus 2001
  • Laatst online: 09-08 17:07
Op vrijdag 19 oktober 2001 12:56 schreef banderas het volgende:
Is dit een beetje netjes gemaakt. (geef eerlijk je mening, hihi 8-) of is het :r )
Het is een beetje misbruik maken van de main function. Eigenlijk probeer je java nu op een visual basic manier te gebruiken door alles in 1 methode te pleuren. Maar voor deze situatie (het is maar een klein progje) is dat niet zo erg, maar zou je dit programma gaan uitbreiden raad ik je toch aan het een en ander wat meer object georienteerd te maken.

Daarnaast zou het beter zijn als je een try catch om je code heen zet ipv van de throw achter de main function. Dit is niet echt gebruikelijk.

Sign here: _________________


  • DiveZoner
  • Registratie: Augustus 2001
  • Laatst online: 09-08 17:07
De naam van het bestand moet ook zijn SndEmail.class (denk aan de hoofdletters!!!). Heb je dit???

Sign here: _________________


Verwijderd

Topicstarter
Op vrijdag 19 oktober 2001 13:03 schreef Puffin het volgende:

[..]

Het is een beetje misbruik maken van de main function...
Ben ik helemaal mee eens. Eigenlijk zou de main methode zelfs in een apart bestandje en alleen moeten zitten.

Maar in dit geval was ik dus een beetje lui :Z

Verwijderd

Topicstarter
Hi,
Indien ik het progje uitvoer met 'java' gaat het gewoon prima, alles doet het dan. Maar via een runtimeInstall op een andere pc (jre) lukt het dus niet. Dus ik kijk wel degelijk naar de hoofdletters.

  • DiveZoner
  • Registratie: Augustus 2001
  • Laatst online: 09-08 17:07
Op vrijdag 19 oktober 2001 13:09 schreef banderas het volgende:

[..]

Ben ik helemaal mee eens. Eigenlijk zou de main methode zelfs in een apart bestandje en alleen moeten zitten.

Maar in dit geval was ik dus een beetje lui :Z
Nee hoor, de main hoeft niet in een aparte klasse te zitten. Je kan in de main methode een instantie aanmaken van zichzelf en dat starten, zoiets bv:
SndEmail sndemail = new SndEmail();
sndemail.stuurmail(args[0], args[1], args[2]);

Sign here: _________________


  • DiveZoner
  • Registratie: Augustus 2001
  • Laatst online: 09-08 17:07
Op vrijdag 19 oktober 2001 13:13 schreef banderas het volgende:
Hi,
Indien ik het progje uitvoer met 'java' gaat het gewoon prima, alles doet het dan. Maar via een runtimeInstall op een andere pc (jre) lukt het dus niet. Dus ik kijk wel degelijk naar de hoofdletters.
Dan weet ik het ook niet meer... Sorry.

Sign here: _________________


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op vrijdag 19 oktober 2001 13:13 schreef Puffin het volgende:

[..]

Nee hoor, de main hoeft niet in een aparte klasse te zitten. Je kan in de main methode een instantie aanmaken van zichzelf en dat starten, zoiets bv:
SndEmail sndemail = new SndEmail();
sndemail.stuurmail(args[0], args[1], args[2]);
Je het mag, maar of het mooi is, is een 2e.



mm geef je het volledige path naar de class op?
staat het path in je classpath ed?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Staat de . in je classpath?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Pff,
Ja op dit moment is classpath:
classpath=c:\Program Files\JavaSoft\JRE\1.1\lib\rt.jar;c:\tmp;.;c:\tmp\mail.jar;

Ik denk ook dat het met deze variabele te maken heeft, zoniet :( dan weet ik het ff niet.

Verwijderd

Topicstarter
Ik heb ook al gedaan: ren c:\winnt\jre.exe jre.ex-
in path variabele opgenomen de bin-directory van jre.
Ook de verbose optie gebruikt. Maar zou een andere class, anders dan SndEmail.class, worden bedoelt?

Vraag: Hoort jre dus bij w2kprof?

ik word |:( nee hoor gewoon :?

Verwijderd

Topicstarter
Na het 1 en ander geprobeert te hebben, het volgende:

Na vernietiging van de classpath variabele heb ik het rt.jar bestand gekopieerd naar mijn huidige directory.
Ik start op:
jre -classpath rt.jar;. SndEmail
En laat het op deze manier nu wel werken. Maar waarom het niet op reguliere manier mag werken, is voor mij nog steeds een raadsel. :?

Verwijderd

Topicstarter
Ter afronding van deze case.

Oplossing:
- vanuit huidige map: jre -cp . piet *D
of: jre -cp %classpath% piet
in classpath is dus opgenomen: .
Maar in principe werkt jre dus NIET met classpaden
Pagina: 1