Jag använder JCreator för att kompilera & köra denna kod:
import javax.comm.*;
import java.util.*;
class CommTest
{
private SerialPort serialPort;
public static void main(String[] args)
{
System.out.println("Looking up available ports!");
printPorts();
}
public static void printPorts()
{
Enumeration portList;
// hämta lista med portar
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
// hämta nästa port
CommPortIdentifier portId = (CommPortIdentifier)portList.nextElement();
System.out.println("Port: " + portId.getName());
}
}
}
Det fungerar utmärkt.. COMportar hittas å så som det är meningen. Men när jag kör i ett CMDfönster så skiter det sig.. NoClassDefFoundError: javax/comm/ComPortIdentifier..
Har provat att klistra in den default class path som anges i JCreator under Configure/Options/JDK Profiles i path i miljövariablerna för min dator...
För att de/det extra libbet ska bli laddat måste du lägga med det i classpathen. Så innan du kör ditt program lägger du in sökvägen till libbet i stil med:
Du får skilja på classpath och path. classpath används för att ange var jvmen kan ladda klasser ifrån och vanliga pathen används för att ange var binärer såsom java, javac, javaw osv finns.
Den går att kompilara i kommandoprompten också lustigt nog... Då skulle ju jag tro att det är nåt fel på paketet som importeras.. Men då det ju funkar i JCreator.. Så då verkar det ju helt =)
Är det nån som har ett förslag?
Man ska alltså inte ändra classpathen enligt anvisningarna.. (men vad vet Sun??)
Varför kan man kompilera men inte köra?
som sagt så fungerar det om man försöker köra det i en editor, men man kan "bara" kompilera i kommandoprompten..
echo %CLASSPATH% returnerar en tom sträng (eller nåt)
kör windowx XP btw
jag fixade det själv... visade sig att den finns ett ställe till man bör lägga dessa extra filer som javax.comm innebär.
I alla beskrivningar står det att det enda man behöver göra är att lägga medföljande filer i var sin mapp i typ C:\j2sdk1.4.2_02\jre.....
Av någon anledning skulle man även lägga dem i motsvarande: C:\Program\Java\j2re1.4.2_02
Kunde de inte kläckt ur sig det tidigare?
Efter min "research" verkar det som att den allmänna uppfattningen om just javax.comm är att den är skriven av en efterbliven apa. (inget ont menat mot aporna)
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2