• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Java mit TextMate

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
N'abend alle miteinander. Ich hab da ein paar Probleme. Soory wenn das ganze hier zu peinlich wird aber ich hab da echt keine Ahnung.

Also wir haben im letzten Semester mit Java programmierung angefangen. Allerdings hatte unser Dozent nicht wirklich interesse daran uns an seinem Wissen teilhaben zu lassen und dann hies es einfach mal selber drauf los. Dazu hab ich dann immer Eclipse verwendet, was auf Ubuntu auch ganz OK lief. Nun hab ich aber endlich mein Macbook gekriegt und möchte auch hier drauf weitere meiner Versuche in Java tätigen. Hab dann auch gleich eclipse installiert was aber erschreckend langsam lief. Kann es ja nicht sein ... Da ich für diverse andere Sachen (php, LaTex,...) mir TextMate anzuschaffen, fänd ich es sehr praktisch wenn ich das dann auch gleich für Java verwenden könnte. Nun fangen aber die Probleme an:

1. Wenn ich irgendas gecodet habe kann man dies in Eclipse ja direkt testen. Wird also so ne kleine Konsole angezeigt mit der Ausgabe. Was muss ich machen damit ich meine Java Klassen auch ohne eclipse direkt testen kann?

2. Bei Eclipse wird ja die JRE System Library mitgeliefert. Wie krieg ich sowas in Textmade integriert.

3. Irgendwelche andere Tipps welche die Arbeit mit TextMate erleichtern?

So nochmal soory wegen den Fragen - nein ich stelle mich hier nicht an - ich weiss es echt nicht :-[


Besten Dank und Gruss

Salzi
 

sAiKo

Cripps Pink
Registriert
13.01.06
Beiträge
152
Also ich kann dir nur raten dich auch auf deinem MacBook mit Eclipse anzufreunden. In Java bist du damit echt super bedient. Auf meinem MacBookPro läuft Eclipse auch vernünftig schnell.
Außerdem wird Eclipse auch von sehr vielen Firmen als IDE eingesetzt.
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
na gut im schlimmsten Fall muss ich das wohl so machen aber mich würde trotzdem interessieren was nötig ist, damit das ohne eclipse läuft.
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
zu 1. Apfel+B drücken

zu 3. z.B. die "eingebauten" Snippets verwenden; du findest sie unter Bundles->Java
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
super danke Joker das bringt mich doch schonmal weiter :)

Allerings noch (lange) nicht ans Ziel. Wenn ich jetzt nach Apfel+B "Ant" auswähle kommt die meldung:

/bin/bash: line 3: ant: command not found

Dacht ich mir ok kein ant drauf und hab mir von www.versiontracker.com Apache Ant 1.5.1 runtergeladen und installiert. Allerings erscheint die Meldung immernoch :( Was habe ich falsch gemacht (bin gerade mal seit 6 Tagen Mac User).

Hab das dann auch gleich mit einem C Programm versucht. Allerdings hat auch das nicht wirklich geklappt:

Building With Xcode

Hide Details
Build Failed

run_xcodebuild.sh:1: line 64: xcodebuild: command not found
run_xcodebuild.sh:1: line 64: xcodebuild: command not found

Was ist da falsch?

Besten Dank für die Hilfe im voraus und Gruss
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Apfel+B dann Compile & Run Single File (nicht Ant)
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Kenn mich mit C nicht aus , es gibt aber unter
->Bundles -> C ->Compile Single File to Tool

Vielleicht gehts damit o_O
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
Java

wenn ich nen kleines file test.java mache mit folgendem Inhalt
Code:
package test;

public class test {
    
public static void main () {

            System.out.println("Hallo Welt");
        
}
}

kommt die Meldung:

Compiling test.java

Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: test/test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

Program exited with status 1.

Ist da im Code was falsch oder was fehlt sonst?
Zudem wenn ich ein Java Project von Eclipse nehmen besteht das ja aus mehren Paketen da kann ich schlecht nur das einzelne File compilieren. Da brauchst wohl ant?

C

Wenn ich den von dir genannten Punkt wähle kommt ähnlich wie beim Java die Fehlermeldung

gcc: command not found

Gruss

Salzi
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
nimm mal die package-Anweisung raus und übergib der main Methode mal folgendes (String[] args)
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Dein Code sollte dann so aussehen :

Code:
public class test {
    
public static void main (String[] args) {

            System.out.println("Hallo Welt");
        
      }
}
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
yeah das klappt. Danke!

Aber eben wenn ich jetzt mit Paketen arbeiten möchte - wie gehe ich dann vor?

Gruss

Salzi
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
*wiederbeleb*

So um mal zu verdeutlichen was mein Problem ist und was ich gerne hätte hier mal eine mehr oder weniger ausführliche "Problembeschreibung":

Ich habe in Textmate ein neues Projekt erstellt. Darin gibts einen Hauptordner und 2 Unterordner:

Fundgrube wurde uns von unserem Dozenten zur verfügung gestellt. Soll das arbeiten erleichtern. Der Rest ist ein kleines Lotto Programm (früher mein erstes Java Programm :eek:) bestehend aus einem Menü und der Ziehung.

Code sieht wie folgt aus:

Menu.java
Code:
package Lotto;

import fundgrube.Input;

public class Menu {
    
public static void main (String args[]) {

        int choice = 0;

        do {
            System.out.println("Lotto");
            System.out.println("======");
            System.out.println("1.)    Neue Ziehung");
            System.out.println("2.)    Ende");
            choice = Input.readInt();
            System.out.println();

            switch(choice) {
                case 1:
                    Ziehung.main(args);
                    break;
                case 2:
                    break;
                default:
                    System.out.println("Choose another value!");
            }
            System.out.println();
        }
        while (choice != 2);
    }
}
Ziehung.java
Code:
package Lotto;

import java.util.*;

public class Ziehung {

    public static void main(String[] args) {
        
        int numbers[] = new int[6];
        Random Ra = new Random();
        
        // Lottozahlen werden per Zufall ausgewählt
        for(int i=0; i<6; i++) {
            numbers[i] = Ra.nextInt(46);
            
            // Falls eine Zahl 2x vorkommt, wird Ziehung nocheinmal beginnen
            for(int j=0; j<i; j++)
                if (numbers[j]== numbers[i]){
                        i=0;

                }
            
            // Falls eine Zahl=0 ist, wird Ziehung nocheinmal begonnen
            if(numbers[i] == 0) {
                i=0;
            }
            
        }
        
        // Lottozahlen auf dem Bildschrim ausgeben
        for(int i=0; i<6; i++) {
            System.out.println(numbers[i]);    
        }
        
    }
}
Ich möchte das ganze jetzt irgendwie kompilieren damit ich das lokal testen kann.

Kann mir da bitte wer helfen o_O

Gruss

Salzi

PS: Ein Problem ist wohl auch das "import java.util.*;" in der ziehung.java. Das ist in Eclipse ja in dem JRE System Library. Wie krieg ich das in Textmate hin?
 
Zuletzt bearbeitet:

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Wenn die Package-Pfade stimmen brauchst du einfach nur noch auf die Java-Datei mit der main() -Methode zu gehen und dann
Code:
Apfel+B
->
Code:
Compile & Run Single File
!

Textmate sollte dann alle dazugehörigen Dateien mitkompilieren !


Wenn du etwas "umfangreichere Projekte" hast kannst du doch auch XCode nehmen ! :)
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
wenn das ganze so wie oben auf dem Screenshot abgebildet ist: wie muss dann der Package Pfad lauten. Müsste in dem Fall ja anderes aussehen als wie im Code den ich reinkopiert habe ...

Danke für deine Geduld!

Gruss

Salzi
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Nimm die Package-Anweisung mal raus und pack alle Java-Dateien mal in einen Ordner -- dann sollte es auf jeden Fall klappen !
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
wenn ich das mache kommt zwar kein Fehler mehr, jedoch kann ich dann auch keine Eingabe machen. Am Ende der Ausgabe steht dann:

Program exited with status 1.

Damit ich das Programm testen kann wäre es aber auch schön praktisch wenn ich da eingaben tätigen könnte.

------

Hab in der Zischenzeit auch einiges im Internet gelesen und getestet. Leider mit sehr miesem Erfolg.

1. Lass ich irgendwo ich solle den classpath in der profile.ini setzten. Das hab ich gemacht... genutzt hats nichts :(

2. Hab Xcode installiert (bei der C kompilierung kam ja immer so ein Xcode fehler) hab dann auch alles Java Zeugs von XCode installieren. Kann das auch verwenden. Also kompilieren usw klappt alles prima. Nur möchte ich das halt in Textmate machen. :(

Bitte um weitere Hilfe...
 

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
die komplette ausgabe:

Lotto
======
1.) Neue Ziehung
2.) Ende
Exception in thread "main" java.lang.NullPointerException
at java.lang.Integer.decode(Integer.java:888)
at Input.readInt(Input.java:39)
at Menu.main(Menu.java:14)

Program exited with status 1.
 

JOKER

Damasonrenette
Registriert
04.12.04
Beiträge
494
Mach mal folgendes :

Geh bei Textmate auf Bundles->Bundle Editor->Show Bundle Editor ...

und kommentier das # bei den markierten stellen aus (siehe Screenshot)

xxxxlk0.png


Dann sollte sich beim Starten deines Programms auch die Konsole öffnen ;)
 
  • Like
Reaktionen: Salzi

Salzi

Prinzenapfel
Registriert
29.08.06
Beiträge
555
wie geil ist das den.... ES GEHT!!!

Vielen vielen Danke :)