Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Automatische Java Batch compiler

Frage Entwicklung Batch & Shell

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

05.06.2012 um 18:22 Uhr, 3468 Aufrufe, 3 Kommentare

Hallo
Bin von batch auf java umgeschrieben, komme aber einfach nicht davon weg.
Es verfolgt mich wohl oder übel, nunja ein wenig kann ich es ja.

Bin gerade dabei ein Java Tutorial durchzukauen.
Dazu muss man des öfteren die java datei im cmd Fenster in eine Class umwandeln.
Wollte das ganze jetzt umgehen, indem ich die Befehle in eine bat Datei schreibe und dan einfach Durchlaufen lasse.
Nur leider sagt mir die Datei am Schluss immer das es die class Datei zum öffnen nicht finden kann.
Wenn ich dan den gleichen Befehl (wie in der bat Datei) im cmd Fenster eingebe, bekomme ich die class Datei sofort ausgegeben.
Hier mal der code:

01.
@echo off 
02.
cd C:\Java\ 
03.
set /p Name= 
04.
javac %Name%.java 
05.
java %Name% 
06.
Pause
Schreiben tuhe ich mit Notepad++
Mit Eclipse komme ich (noch) nicht zurecht, will erst mal die Sprache an sich Verstehen, und laut dem Tutorial würde auch ein einfacher Texteditor reichen, der ist dan aber auch wider zu unübersichtlich.

Außerdem kann ich in Notepad++ die Batch als Ausführbare Datei hinterlegen und mit Tastenkombination Starte, was auch sehr Praktisch ist.


Wenn es eine Möglichkeit gibt, den Namen der java Datei direkt in die Batch zu übergeben, ohne set /p, wäre das sogar noch besser.

Schonmal danke für eine Antwort.

Mit freundlichen Grüßen
Power-Poler
Mitglied: bastla
05.06.2012 um 19:18 Uhr
Hallo Power-Poler!
Wenn es eine Möglichkeit gibt, den Namen der java Datei direkt in die Batch zu übergeben, ohne set /p, wäre das sogar noch besser.
Du kannst den Batch mit Parameterübergabe aufrufen oder auch Drag&Drop verwenden:
01.
@echo off 
02.
cd /d C:\Java\ 
03.
set "Name=%~1" 
04.
javac "%Name%.java" 
05.
java "%Name%" 
06.
Pause
Grüße
bastla
Bitte warten ..
Mitglied: Power-Poler
05.06.2012 um 19:47 Uhr
Danke für deine Antwort
Leider weiss ich nicht wie du das mit "%~1" meinst, ich kann ich Notepad++ nirgends einen Parameter übergeben.
und auch wenn ich dies nicht muss, die Variable ist in dieser Form einfach leer.

Auch funktioniert der code so auch nicht.
Hier mal die Fehlerbeschreibung:


C:\Java>javac "CharBsp.java"

C:\Java>java "CharBsp"
Exception in thread "main" java.lang.UnsupportedClassVersionError: CharBsp : Uns
upported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: CharBsp. Program will exit.

Wie gesagt wenn ich jetzt cmd öffne, und dort "Java CharBsp" eingebe wird die Datei mit den aktuellen werten ausgegeben, compilieren tut es, nur ausgeben leider nicht.
Bitte warten ..
Mitglied: Power-Poler
06.06.2012, aktualisiert um 19:36 Uhr
Hab das Problem eingrenzen können.
Wenn ich die bat Datei mit Doppelklick starte gehts.
Wenn ich Sie aber über Notepad++ Starte bekomme ich den oben genannten Fehler.
Habe jetzt versucht das Problem zu umgehen, indem ich einfach folgende Zeile hinzugefügt habe:
01.
start cmd.exe /k "echo off && cd C:\Java\ && java %Name%
Aber auch das verursacht den Fehler.
Wenn ich die bat Datei aber wider mit Doppelklick öffne, wird wie der Befehl tun soll, ein neues Fenster geöffnet, und die Java Ausgeführt.
Was kann ich noch versuchen?
Für die Automatische Dateinamen übergabe habe ich schon eine Idee, weiß aber noch nicht ob es Funktioniert.
Ich lasse die bat Datei alle java Dateien im Ordner auf das Änderungsdatum Prüfen, und das jüngste soll genommen werden.

So geht jetzt endlich......
Hatte JDK 7.0.04 64bit
JRE 7 64 bit
JRE 6 32 bit

Notepad++ verwendet JRE 6 32 bit zum Aufrufen der Java
cmd die 64bit in der Version 7
Habe jetzt einfach noch die 7 in 32bit Installiert und schon gehts.
Darauf muss man erst mal kommen.

So geht jetzt alles:
01.
@echo off 
02.
cd C:\Java\ 
03.
for /f "delims=" %%a in ('dir /a-d /b /od *.java') do set "Name1=%%a" 
04.
set Name=%Name1:~0,-5% 
05.
javac "%Name%.java"  
06.
start cmd.exe /k "echo off && cd C:\Java\ && java %Name%
Trotzdem danke für eure hilfe
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (29)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...