nillMedlem sedan okt. 2001387 inlägg Försöker i Netbeans ska en Jar-fil.
Får inte rätt på manifestet. fattar ingenting.
kan någon förklara.
jag vill skapa en jar-fill för senare förhoppningsvis kunna skapa en exe-fil, vilket är mitt slutgiltiga mål. Om någon vet en fungerande genväg är den välkommen.
ChainsawMedlem sedan sep. 20001 124 inlägg Egentligen så behöver du inte någon manifestfil alls. Om man inte anger någon sådan så skapas en helt ny fil för det ändamålet.
Du kan inte skapa en EXE-fil i Java. Anledningen är att det är omöjligt att köra en sådan på exempelvis min Mac.
nillMedlem sedan okt. 2001387 inlägg 1. Om man inte behöver nån manifestfil så får du gärna förklara steg gör steg hur du skapar en Jar-fil i Netbeans
2.`Man kan göra en exe-fil jo.. om den är i java sen vet jag inte men man programmerar den i java ivarjefall. J++ gör automatiskt .exe-filer
ViktorMedlem sedan aug. 20021 752 inlägg Du kan inte göra exe filer av dina Java program enligt Java standarden. Alla extra program som gör exe filer är 3'e parts program som "förstör" hela iden med Java, platformsoberoende. Om man bara ska använda programet på en Windows maskin är det bättre att göra den i C++, VB eller Delphi.
/Viktor
nillMedlem sedan okt. 2001387 inlägg kan vi inte hålla oss till min fråga istället för om man ska köra javaprogram till exe eller inte. För det är nämligen det jag vill göra då jag struntar fullständigt i plattformsoberoende just nu. Jag håller på att lära mig Java och vill kunna köra programmen smidigt.
LimeMedlem sedan sep. 2001961 inlägg Då är kommandot "java" och "javaw" i kommandotolken väldigt bra.
Och om du kör Netbeans så är det ju bara att säga åt den att köra programmet när du vill testa.
/Lime
nillMedlem sedan okt. 2001387 inlägg att köra ett program smidigt är att kunna dubbelklicka på en fil för att sedan programmet ska starta.
SPiNMedlem sedan mars 20007 896 inlägg Det fixar man ju lätt med en Batch-fil...
@ECHO OFF
cd C:\MinKatalog\Med\JavaClasser
java MinJavaClass
Piece of cake, och du har fortfarande plattformsoberoendet...
nillMedlem sedan okt. 2001387 inlägg Inte svaret jag var ute efter men om jag gör som du säger då får jag det här felet:
D:\BMI>java BMI
Exception in thread "main" java.lang.NoClassDefFoundError: BMI (wrong name: BMI/
BMI)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
SPiNMedlem sedan mars 20007 896 inlägg Har du angett en riktigt CLASSPATH, och har din applikation fungerat smärtfritt tidigare?
nillMedlem sedan okt. 2001387 inlägg om jag hade vetat vad det är för fel skulle jag inte frågat :)
programmet fungerar i NetBeans. Provade även ett annat program gjort i J++ med samma resultat.
CLASSPATH? "java BMI" skrev jag.. eftersom nästan alla filer i mappen börjar med det namnet men har olika filändelser.
annars vet jag inte vad du menar med CLASSPATH
GunnarDMedlem sedan juni 20014 290 inlägg Har du en main() method i BMI.java?
Har för mig att man får detta meddelandet om man försöker köra en applet mha java, dessa kör man via webläsaren eller appletviewer med tillhörande html fil.
ViktorMedlem sedan aug. 20021 752 inlägg Här kan du hitta lite info om classpath, http://www.webforum.nu/showthread.php?s=&threadid=49004 och http://www.webforum.nu/showthread.php?s=&threadid=55655.
För att få SPiNs kod att fungera så borde det räcka med
@ECHO OFF
cd C:\MinKatalog\Med\JavaClasser
java -CLASSPATH ./ BMI
om du har alla class filer i samma katalog och inte jobbar med package.
/Viktor
nillMedlem sedan okt. 2001387 inlägg ja jag har en main-metod.
undrar om mitt problem kan bero på att jag har avinstallerat nån äldre version av JVM / SDK för att sedan installera en nyare?
"D:\BMI>java ./BMI
Exception in thread "main" java.lang.NoClassDefFoundError: //BMI"
blir resultatet av det. Då hade jag redan skrivit "D:\BMI>SET PATH=%PATH%; C:\program\j2sdk1.4.1_01\bin"
detta är krångligt
ChainsawMedlem sedan sep. 20001 124 inlägg java -cp %CLASSPATH%;. BMI
nillMedlem sedan okt. 2001387 inlägg D:\BMI>java -cp %CLASSPATH%;. BMI
Exception in thread "main" java.lang.NoClassDefFoundError: BMI (wrong name: BMI/
BMI)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
psMedlem sedan juni 2000841 inlägg Du kan göra exekverbara .jar filer, kika runt lite på java.sun.com och i deras forum så hittar du nog något.
För att köra som exe så går det att skriva små program i VB/C++ som i sin tur startar java program men döljer konsollen.
Ser absolut inget fel i att skapa exe för att starta javaprogram.
När väl programmet är klart så är det bara bra om man kan förpacka det i olika paket så det passar in i omgivningen utan att den som använder det ska tycka att det är kass/amatörmässigt/konstigt osv varför man inte kan använda det som "ett vanligt program".. har stött på det ett flertal gånger ;)
jag använder InstallAnywhere 5 (gratisvarianten) funkar kanon. Den kompilerar alltså inte om till native eller så utan gör bara att man kan installera som ett vanligt program osv.. funkar för win/mac/unix/linux mm
http://www.installanywhere.com/
D:\BMI>java -cp %CLASSPATH%;. BMI
Exception in thread "main" java.lang.NoClassDefFoundError: BMI (wrong name: BMI/
BMI)
Din klass BMI tillhör paketet BMI (klassen har definitionen package BMI;).
För att köra klassen så skall den ligga i ett katalogträd som överensstämmer med paketstrukturen, i ditt fall så här:
D:\BMI
|
------ BMI
|
------- BMI.class
ELLER så startar du BMI.class direkt från D:\ och får då rätt paketstruktur.
Starta en klass i ett paket så här:
D:\BMI\java BMI/BMI
eller
D:\java BMI/BMI
Jämför med detta exempel:
Jag skapar klassen HelloWorld som jag definerar som tillhörande paketet foo.bar:
[b][red]package foo.bar;[/red][/b]
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Jag kompilerar koden och ser till att klassfilen ligger i katalogstrukturen <start>/foo/bar/HelloWorld.class.
Jag startar klassen genom att ställa mig i <start> och skriva java foo/bar/HelloWorld.
nillMedlem sedan okt. 2001387 inlägg det fungerade att stå i D:\ och skriva java BMI/BMI. Men jag ser inte logiken i det hela.
det borde väl vara samma sak som att stå i D:\BMI\ och skriva java BMI..
men nej nej.. då kommer kommer felet igen.