Dies ist mein erster Beitrag hier und ich hoffe das ich euch nicht mit meiner Frage nerve!
Ich benutze in der Schule das Programm "Eclipse" um die Aufgaben die wir bekommen zu erledigen. Hier im Forum habe ich aber auch über andere Programm gelesen, die mein Aufsehen erregt haben.
Wichtig ist mir das ich meine Anwendung auch ohne ein spezielles Java-Programm ausführen kann und bestensfalls eine eigene Oberfläche einbauen kann.
Ich benutze in der Schule das Programm "Eclipse" um die Aufgaben die wir bekommen zu erledigen. Hier im Forum habe ich aber auch über andere Programm gelesen, die mein Aufsehen erregt haben.
Wichtig ist mir das ich meine Anwendung auch ohne ein spezielles Java-Programm ausführen kann und bestensfalls eine eigene Oberfläche einbauen kann.
Das hat jetzt eigentlich mit der IDE nichts zu tun. Was verstehst du unter "spezielles Java-Programm"? Die JRE? Oberflächen kannst du z. B. mit Swing bauen.
Also ich möchte Java so Programmieren, das ich mein Programm sozusagen als eigenständige .exe aufm Desktop haben kann. Momentan kann ich meine Programm nur über Eclipse starten und benutzen.
EDIT
Das Programm Swing? Wo bekomme ich dieses her? Habe eben auf google nicht viel gefunden außer irgendeine Version für 58 Euro.
Also ich möchte Java so Programmieren, das ich mein Programm sozusagen als eigenständige .exe aufm Desktop haben kann. Momentan kann ich meine Programm nur über Eclipse starten und benutzen.
Google mal nach "Java native compiler". VisualAge for Java und Visual Café wirst du dort finden. Es reicht aber, wenn der Benutzer das Java Runtime Environment (JRE) hat, dann kann er die Anwendungen auch so ausführen.
Holo hat gesagt.:
Das Programm Swing? Wo bekomme ich dieses her? Habe eben auf google nicht viel gefunden außer irgendeine Version für 58 Euro.
Also ich möchte Java so Programmieren, das ich mein Programm sozusagen als eigenständige .exe aufm Desktop haben kann. Momentan kann ich meine Programm nur über Eclipse starten und benutzen.
das hat mit dem Programmieren an sich nichts zu tun. Du kannst aber wenn du deine Klassen fertiggestellt hast eine *.exe daraus erstellen. Da die aber nur unter Windows laufen, bietet sich meistens eine *.jar besser an. dazu brauchst du dann auch kein weiteres programm, sondern nur das JDK (obwohl es eclipse auch kann).
Pack dein Programm in ein JAR-Archiv (Eclipse: Im Menü "File" unter "Export as"). So ein JAR-Archiv kann auf jeder Maschine mit doppelklick gestartet werden - sofern das JRE dort installiert ist. JAR's werden eigentlich immer verwendet um Java-Progis zu verteilen.
Ich benutze in der Schule das Programm "Eclipse" um die Aufgaben die wir bekommen zu erledigen. Hier im Forum habe ich aber auch über andere Programm gelesen, die mein Aufsehen erregt haben.
Eclipse ist sehr gut, allerdings nicht unbedingt was für Einsteiger (zumindest imho). Hab als Tutor bei uns im ersten Semester zu viele gesehen die Eclipse-verwöhnt waren und eigentlich nicht so recht wussten was sie da machten. Trotzdem natürlich sehr gute IDE.
Wichtig ist mir das ich meine Anwendung auch ohne ein spezielles Java-Programm ausführen kann und bestensfalls eine eigene Oberfläche einbauen kann.
Pack dein Programm in ein JAR-Archiv (Eclipse: Im Menü "File" unter "Export as"). So ein JAR-Archiv kann auf jeder Maschine mit doppelklick gestartet werden - sofern das JRE dort installiert ist. JAR's werden eigentlich immer verwendet um Java-Progis zu verteilen.
Du machst alles richtig, nur Winrar ist ein Sch***programm.
Ich benutze kein Winrar, deshalb kann ich dir nur eine Dampfhammer-Methode bieten:
Deinstalliere Winrar und das JRE.
Reinstalliere Winrar und achte beim installieren darauf, dass es nicht *.jar -Dateien zu sich verknüpft.
Nachher installiere das JRE wieder.
Mag aber schon sein, dass das einfacher geht :wink:
Man sollte beachten, dass man als unerfahrender Benutzer die JAR-Dateien nicht mit Programmen wie WinRar verknüpft, denn sonst kann man die Programme (JAR-Dateien) nicht mehr beim anklicken starten! Sollte man man die JAR-Datei trotzdem ausversehen mit einem Packer verknüpft haben, dann kann man JAR-Dateien (bei Windows) nur noch mittels BAT-Datei oder über START->Ausführen und dann mit "javaw -jar meine_jar_datei.jar" starten. Wem das zu umständlich ist, der muss einen Schlüssel in der Registry setzen!
Für erfahrene Leute, die wissen wie man mit der Registry unter Windows umgeht:
Man muss einen Schlüssel mit einem Binärwert unter "HKEY_CLASSET_ROOT" -> "Applications" -> "javaw.exe" -> "shell" -> "open" -> "command" eintragen mit dem Wert (Anführungszeichen mit eintragen!!!): "C:\Programme\Java\jre1.5.0_01\bin\javaw.exe" -jar "%1" %*
(Der Pfad der JRE ist natürlich bei jedem variabel, dies ist nur der Standardpfad!)
Ahhh das geht ja verdammt schnell hier :toll:
Leider bin ich sehr langsam :roll:
Ich habe jetz versucht meine Datei über cmd zu öffnen -> javaw -jar programm.jar
Worauf ich den Fehler "Unable to access jarfile programm.jar" bekomme.
Dann habe ich versucht über die Registry die Javaw.exe zu editieren. Jedoch habe ich diese exe nicht! Nur eine Java.exe und dort gibt es kein shell!
Das Manifest erstellt Eclipse automatisch, aber du musst dich durch den "Export"-Dialog hangeln bis zu der Stelle wo man die "Main-Class" angeben kann. Dort musst du deine Startklasse eintragen.
Das Manifest erstellt Eclipse automatisch, aber du musst dich durch den "Export"-Dialog hangeln bis zu der Stelle wo man die "Main-Class" angeben kann. Dort musst du deine Startklasse eintragen.
was soll dein programm denn machen? wenn es nur ausgaben mit System.out sind, kannst du es nicht sehen, weil beim doppelklick auf deine jar keine konsole geöffnet wird.
was soll dein programm denn machen? wenn es nur ausgaben mit System.out sind, kannst du es nicht sehen, weil beim doppelklick auf deine jar keine konsole geöffnet wird.
Haut ja eigentlich alles hin.
Ich denke mal, dass du in deiner Klasse ein Package definiert hast, deshalb kann er die Klasse nicht finden. Dann muss der Aufruf anders aussehen. Hast du eine package-Anweisung in deiner Klasse?
Kannst du mal noch in den Inhalt der Manifest-Datei posten?
OK! Hier ist das Programm.
Soll ich das package herausnehmen?
Code:
package neu;
import support.Console;
public class gitarre {
public static void main(String[] args) throws Exception {
// Deklaration
int summe=0;
int zz;
int zz2;
int anzahl=0;
char wiederholung;
do {
// Berechnung
anzahl=anzahl+1;
zz2= (int) (Math.random()*6+1);
Console.println("Auf Saite = "+zz2);
Console.println("");
summe=summe+zz2;
if (zz2 == 1 || zz2 == 6) {
Console.println ("E F F# G G# A A# B C C# D D# ");
Console.println("");
}
else {
if (zz2 == 2) {
Console.println("A A# B C C# D D# E F F# G G# ");
Console.println("");
}
else {
if (zz2 == 3) {
Console.println("D D# E F F# G G# A A# b C C# ");
Console.println("");
}
else {
if (zz2 == 4) {
Console.println("G G# A A# B C C# D D# E F F# ");
Console.println("");
}
else {
if (zz2 == 5) {
Console.println("H C C# D D# E F F# G G# A A#");
Console.println("");
}
}
}
}
}
anzahl=anzahl+1;
zz= (int) (Math.random()*24+1);
Console.println("Im Bund = "+zz);
Console.println("");
summe=summe+zz;
Console.println("Wollen sie wiederholen? J/N");
wiederholung=Console.readChar();
}
while (wiederholung=='J' || wiederholung=='j');
// Programm Ende
Console.println("Pogramm Ende");
}
}
kann es eventuell sein, dass du dich in einem anderen Verzeichnis befindest,
als in jenem in dem sich dein .jar file bzw. deine .class Datei befindet, wenn du die Kommandos eingibst ??
kann es eventuell sein, dass du dich in einem anderen Verzeichnis befindest,
als in jenem in dem sich dein .jar file bzw. deine .class Datei befindet, wenn du die Kommandos eingibst ??
Probiere mal diese Batchdatei zur Erstellung bzw. Start einer jar-Datei aus:
Code:
@echo off
set path=.;C:\Programme\Java\jdk1.5.0\bin
echo Manifest-Version: 1.0>Manifest.mf
echo Class-Path: .>>Manifest.mf
echo Main-Class: neu.gitarre>>Manifest.mf
echo.>>Manifest.mf
jar -cfvm Gitarre.jar Manifest.mf neu
del Manifest.mf
pause
java -jar Gitarre.jar
pause
Eventuell musst du den Pfad zum SDK noch anpassen.
Die Datei kopierst du mal ins gleiche Verzeichnis, in dem sich auch dein Verzeichnis "neu" befindet.
Ansonsten müsstest du deine Klasse auch mit java neu.gitarre
starten können, wenn du den Aufruf auch in eben diesem Verzeichnis in die Console tippst.
Wichtig ist, das alle Klassen des importierten Packages an ihrem Platz sind.
D.h., es muss in deinem Verzeichnis "neu" ein Unterverzeichnis "support" geben, mit mindestens der Klasse "Console.class" darin.