Hallo,
puh, mein erster Beitrag im Java-Forum.
Zu meiner Person: Ich habe zuerst selten BASIC programmiert, danach Assembler für Mikrocontroller (Atmel AVR), über C++-Programmierung für Windows zu schließlich Java, da die Syntax zu C++ "ähnlich" ist und ich vor allen Dingen plattformunabhängig programmieren möchte.
Angefangen habe ich mit Java erst seit kurzem. Ich habe mit einfachen Fenster mit JFrame, Swing bzw. Graphics2D rumprobiert und würde sagen, dass ich die Grundlagen zu Java eigentlich verstanden habe.
Verwenden tue ich das JDK von Oracle (so wie die meisten hier wahrscheinlich).
Jetzt möchte ich mich aber mal mit 3D-Programmierung auseinandersetzen. Anfangen würde ich gerne mit LWJGL. Doch schon am Anfang habe ich (wahrscheinlich) mit den natives o.ä. erste Probleme.
Ich verwende folgende Ordnerstruktur und Codes:
Ordnerstruktur
Test
-MANIFEST.mf
-start.bat
-Test.java
-Test.jar
-libraries
--native
---freebsd
----(leer)
---Linux
----libjinput-linux.so
----libjinput-linux64.so
----liblwjgl.so
----liblwjgl64.so
----libopenal.so
----libopenal64.so
---macosx
----libjinput-osx.jnilib
----liblwjgl.jnilib
----openal.dylib
---solaris
----liblwjgl.so
----liblwjgl64.so
----libopenal.so
----libopenal64.so
---windows
----jinput-dx8.dll
----jinput-dx8_64.dll
----jinput-raw.dll
----jinput-raw_64.dll
----lwjgl.dll
----lwjgl64.dll
----OpenAL32.dll
----OpenAL64.dll
--AppleJavaExtensions.jar
--asm-debug-all.jar
--jinput.jar
--lwjgl-debug.jar
--lwjgl.jar
--lwjgl_test.jar
--lwjgl_util.jar
--lwjgl_util_applet.jar
--lzma.jar
-resources
--(leer)
Test.java
MANIFEST.mf
compile.bat
Rückgabe von compile.bat
start.bat
Folgenden Fehlercode erhalte ich beim Ausführen von start.bat:
Frage an euch: Wo liegt der Fehler?
MfG
Seikuassi
puh, mein erster Beitrag im Java-Forum.
Zu meiner Person: Ich habe zuerst selten BASIC programmiert, danach Assembler für Mikrocontroller (Atmel AVR), über C++-Programmierung für Windows zu schließlich Java, da die Syntax zu C++ "ähnlich" ist und ich vor allen Dingen plattformunabhängig programmieren möchte.
Angefangen habe ich mit Java erst seit kurzem. Ich habe mit einfachen Fenster mit JFrame, Swing bzw. Graphics2D rumprobiert und würde sagen, dass ich die Grundlagen zu Java eigentlich verstanden habe.
Verwenden tue ich das JDK von Oracle (so wie die meisten hier wahrscheinlich).
Jetzt möchte ich mich aber mal mit 3D-Programmierung auseinandersetzen. Anfangen würde ich gerne mit LWJGL. Doch schon am Anfang habe ich (wahrscheinlich) mit den natives o.ä. erste Probleme.
Ich verwende folgende Ordnerstruktur und Codes:
Ordnerstruktur
Test
-MANIFEST.mf
-start.bat
-Test.java
-Test.jar
-libraries
--native
---freebsd
----(leer)
---Linux
----libjinput-linux.so
----libjinput-linux64.so
----liblwjgl.so
----liblwjgl64.so
----libopenal.so
----libopenal64.so
---macosx
----libjinput-osx.jnilib
----liblwjgl.jnilib
----openal.dylib
---solaris
----liblwjgl.so
----liblwjgl64.so
----libopenal.so
----libopenal64.so
---windows
----jinput-dx8.dll
----jinput-dx8_64.dll
----jinput-raw.dll
----jinput-raw_64.dll
----lwjgl.dll
----lwjgl64.dll
----OpenAL32.dll
----OpenAL64.dll
--AppleJavaExtensions.jar
--asm-debug-all.jar
--jinput.jar
--lwjgl-debug.jar
--lwjgl.jar
--lwjgl_test.jar
--lwjgl_util.jar
--lwjgl_util_applet.jar
--lzma.jar
-resources
--(leer)
Java:
package classes;
import java.io.*;
import java.util.Properties;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
// --- Klassen --- //
class Game_Window{
// --- Methoden --- //
private void draw(){
return;
};
public void start(int height,int width){
try{
Display.setDisplayMode(new DisplayMode(height,width));
Display.create();
}catch(Exception e){
System.exit(1);
};
init();
while((Display.isCloseRequested()==false)){
draw();
Display.update();
};
Display.destroy();
};
public void init(){
return;
};
// --- Variablen --- //
// --- Aufzählungen --- //
};
class Test{
// --- Methoden --- //
public static void main(String[]arg){
Game_Window gW=new Game_Window();
gW.start(800,600);
return;
};
// --- Variablen --- //
// --- Aufzählungen --- //
};
Code:
Manifest-Version: 1.0
Created-By: PHBU
Main-Class: classes.Test
Class-Path: .;libraries\*
Code:
cmd /c echo --- temporaeres Verzeichnis erstellen ---
cmd /c md "$(CURRENT_DIRECTORY)\classes"
cmd /c echo.
cmd /c echo --- .java-Datei(en) kompilieren ---
javac -cp .;libraries\* -d classes\ *.java
cmd /c echo.
cmd /c echo --- .class-Datei(en) packen ---
jar -0cfmv $(NAME_PART).jar MANIFEST.mf resources -C classes\ .
cmd /c echo.
cmd /c echo --- temporaeres Verzeichnis löschen ---
cmd /c rd "$(CURRENT_DIRECTORY)\classes" /S /Q
Code:
--- temporaeres Verzeichnis erstellen ---
--- .java-Datei(en) kompilieren ---
--- .class-Datei(en) packen ---
Manifest wurde hinzugef³gt
resources/ wird hinzugef³gt(ein = 0) (aus = 0)(0 % gespeichert)
classes/ wird hinzugef³gt(ein = 0) (aus = 0)(0 % gespeichert)
classes/Game_Window.class wird hinzugef³gt(ein = 793) (aus = 793)(0 % gespeichert)
classes/Test.class wird hinzugef³gt(ein = 343) (aus = 343)(0 % gespeichert)
--- temporaeres Verzeichnis löschen ---
Code:
@echo off
java -cp .;.\libraries\* -jar Test.jar -Djava.path.library=.\libraries\native\windows
echo.
echo.
echo.
echo Programm beendet. Druecken Sie eine beliebige Taste, um das Programm zu beenden.
pause>NUL
exit
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/opengl/DisplayMode
at classes.Game_Window.start(Test.java:16)
at classes.Test.main(Test.java:40)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.opengl.DisplayMode
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
Programm beendet. Druecken Sie eine beliebige Taste, um das Programm zu beenden.
Frage an euch: Wo liegt der Fehler?
MfG
Seikuassi