Cygwin in Java Development in Windows


#1

Hallo zusammen,

ich bin an Linux Konsole gewöhnt aber in meiner Arbeit muss ich jetzt Windows benutzen.
Ich habe gedacht, dass ich Cygwin benutzen kann.
Gibt es irgendwelche Nachteile wenn man Cygwin benutzt (abgesehen davon, dass mann keine System befehle nutzen kann).

Ich habe gehört, dass die Emulation sehr langsam ist. Aber ich denke dass wenn mann ein einfaches Skript benutzt, dann spielt das keine Rolle, oder?

Wie führt ihr z. B. einen Server aus? z. b. Tomcat wenn ihr Cygwin benutzt. Via startup.bat oder startup.sh.
Wenn ich startup.sh in Cygwin ausführe dann kann die Emulation etwas verlangsamen?


#2

Also ich nutz Cygwin und bin weitgehend zufrieden.

Es gibt imho zwei grosse “Nachteile”: Die von dir bereits angesprochene schlechte Performance (wobei ich das auch nur gelesen hab - gemessen hab ich das nie) und das Pfadgefummel. Cygwin nutzt (im Gegensatz zu msys) Linuxpfade (/cygwin/c/Program Files). Das Umwandeln von Windowspfaden zu Cygwin-Linuxpfaden uebernimmt zwar meistens cygwin selbst - kann aber manchmal zu Problemen fuehren.

Emuliert wird auch nur POSIX. Sobald die java.exe gestartet wird (z.B. mit Tomcat) sollte es keine Performanceeffekte haben.

Ich nutzt eigentlich immer das Shellscript, bat/cmd duerften auch gar nicht funktionieren.

Wichtig ist noch, mintty als Terminalemulation zu nehmen - das kann halbwegs vernuenftig Copy&Paste und man kann das Fenster einfach vergroessern.


#3

Moin,

Schon an Virtualisierung (z.B. VirtualBox) gedacht und auf Nahtlos-Modus geschalten? Nutze ich an einer Stelle, weil der Treiber für die Hardware nur bis Kernel 3.x funktioniert -.-


#4

Würde ich auch empfehlen. Wobei ich im headless-modus arbeite und mich mit dem Terminal-view von Intellij IDEA via SSH drauf verbinde. Funktioniert wunderbar und ich brauch nicht aus der IDE raus, wenn ich irgendwas auf der Maschine machen möchte. Find ich angenehmer als den Nahtlos-Modus.


#5

Hast du Git?

Die Git Bash ist eine - ganz nebenbei -relativ gute Bash-Console für Windows, man braucht sich dann nicht in Cygwin-Gepfriemel begeben. Sollte für ./startup.sh und solche Sachen völlig reichen.


#6

Danke schön für die Antworten.
besonders interessant scheint für mich zu sein der nathloser Modus. Ich muss das unbedingt ausprobieren. Ich habe nicht gewusst, dass es so etwas gibt :slight_smile:

*** Edit ***

[QUOTE=Tomate_Salat;131019]Würde ich auch empfehlen. Wobei ich im headless-modus arbeite und mich mit dem Terminal-view von Intellij IDEA via SSH drauf verbinde. Funktioniert wunderbar und ich brauch nicht aus der IDE raus, wenn ich irgendwas auf der Maschine machen möchte. Find ich angenehmer als den Nahtlos-Modus.[/QUOTE]

Und wenn du programmierst. Führst du einen Server z.B. Tomcat in VB in nathloser Modus aus?
Wenn ja, dann siehst irgendwelchen Unterschied in Performanz zwischen application server auf Wirtsystem und application server auf Gastsystem?
Ich bin gespannt ob man den Unterschied spüren kann?
Der Vorteil ist, dass du den Server dann auf der Zielumgebung ausführst.


#7

Ich verwende keinen Nathlosmodus. Hab gui-loses linux im headless-modus (also gar keine Fenster der VM) laufen. In der VM läuft mein jboss und die Datenbank. Bin bisher eigentlich mehr als zufrieden damit und empfehle das auch so meinen Kollegen weiter. Einen Unterschied in der performance zu einer lokalen Installation kann ich nicht erkennen.


#8

Alles klar. Gute Idee so zu machen. Früher habe ich kurz sehr ähnlich gemacht. Auch gui-loses Linux aber nicht headless-modus. Spielt kleine Rolle aber stimmt, besser in headless-modus weil ich VB-GIU dann nicht brauche.
Gut zu wissen, dass es einen sehr kleinen Einfluss auf Performanz hat.


#9

Und ich bin gespannt. Wie verteilst du logische Prozessoren für VB. Z. B. in meinem Rechner habe ich 4 logische Prozessoren und in VBox JBoss Server. Wie viele logische Prozessoren teilst du für VB mit JBoss zu? Alle 4? Während deployment JBoss braucht viel Power :slight_smile:


#10

Weiß gerade gar nicht wie die eingerichtet ist. Hab die so von Kollegen übernommen. Aber das deployment ist kein Problem. Beim jboss muss ich noch was ergänzen: der befindet sich bei mir lokal auf dem host und wird an die VM durchgereicht. D.h. ich deploye lokal aber der jboss rennt in der VM. Nur die Datenbank ist wirklich in der VM installiert.


#11

[QUOTE=Bleiglanz;131027]Hast du Git?

Die Git Bash ist eine - ganz nebenbei -relativ gute Bash-Console für Windows, man braucht sich dann nicht in Cygwin-Gepfriemel begeben. Sollte für ./startup.sh und solche Sachen völlig reichen.[/QUOTE]
Hätte auch MING empfohlen anstatt cygwin, git shell ist ein sehr einfach zu installierendes mingw.