Jenom potvrdím (i vyvrátím), co už bylo několikrát napsané výše – Java ani vývoj v ní nejsou vůbec nijak vázané na Linux.
U nás ve firmě má většina vývojářů Windows, Linux má jen utlačovaná minorita. Všechny možné nutné nástroje (IDE, Maven repository, Jenkins, aplikační servery...) je možné bez problémů rozchodit i na Windows – právě proto, že jsou napsané v Javě. Navíc ty podpůrné serverové nástroje beztak obvykle spravují "ajťáci" a nikoliv sami vývojáři, a tam je ti pak v 99 % víceméně jedno, na čem to běží. Naše aplikace v produkci běží jak na Windows, tak na Linuxu, vyvíjíme i pro embedded zařízení s Windows CE. Vývojářské testování je možné na Windows, běh na Linuxu otestuje QA. Pokud se člověk vyvaruje používání čehokoliv, co může být OS specifické (timestampy souborů), respektive naučí se s tím pracovat (a je toho opravdu jen minimum), tak je vše v pohodě. Většina specifik, které je nutné řešit, se stejně týká spíš rozdílů mezi DBMS než OS.
Já osobně vyvíjím také na Windows, téměř vše dělám z IDE. Mimo IDE používám jen TortoiseGIT a TortoiseSVN. Tohle by šlo i v IDE, ale Tortoise nebo jiné podobné specializované GUI nástroje jsou ve spoustě případů lepší. Cygwin v práci nemám, jen doma, a k vývoji jej téměř vůbec nepoužiju – jen jako konzoli pro menší "domácí" aplikace. Pro enterprise aplikace, které chrlí desítky megabajtů logů za hodinu, je konzole víceméně k ničemu, naopak je třeba mít kvalitní textový editor, který je zvládne nejen otevřít, ale pak s nimi i svižně pracovat (ale to se netýká jen logů, ale i třeba nějakého většího XMLka z produkce atp.).
A také bych rád podotkl (právě tu o tom předevčírem byla diskuze), že weby jsou možná tak sotva jednotky procent veškerého kódu napsaného v Javě (byť jsi napsal, že bys je rád dělal). Jenom jsou tolik vidět, protože je to UI, vše ostatní už moc na první pohled vidět není. Až dostuduješ, a hlavně až nastoupíš do nějaké firmy, dost se ti (samy) rozšíří obzory o tom, co se všechno v Javě píše. Zmiňuji to proto, že já měl z vývoje enterprise aplikací, když jsem o nich ještě nic nevěděl, docela hrůzu, ale teď naopak vidím jako výhodu, že se nemusím dělat s UI, natož s webama. Nemusím řešit rozsypané UI, nebo jak to vypadá v deseti různých webových prohlížečích. Výstup z aplikace (logy, XMLka, JSONy atd.) si můžu zazálohovat a kdykoliv se k tomu vrátit. Běžící aplikaci pak můžu různě dráždit třeba přes JMX ;-)
PS: Na projekty v Mavenu jsou lepší NetBeans než Eclipse, protože je podporují nativně. Eclipse si dost hákuje svůj interní build na Maven lifecycle, a ten výsledek občas... jak to říct slušně... no kolegové s Eclipse v takových případech právě moc slušní nejsou.