{"id":32720,"date":"2025-10-25T05:40:52","date_gmt":"2025-10-25T02:40:52","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32720"},"modified":"2025-10-25T05:40:52","modified_gmt":"2025-10-25T02:40:52","slug":"macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/","title":{"rendered":"MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k"},"content":{"rendered":"<p><body><\/p>\n<h2>MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k<\/h2>\n<p>&#8220;Bad CPU type in executable&#8221; hatas\u0131, \u00f6zellikle yeni nesil Apple Silicon (M-serisi) i\u015flemcili MacBook&#8217;larda Java geli\u015ftiricilerinin s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131, can s\u0131k\u0131c\u0131 ancak genellikle basit \u00e7\u00f6z\u00fcmlere sahip bir sorundur. Bu hata, bir uygulaman\u0131n veya y\u00fcr\u00fct\u00fclebilir dosyan\u0131n (executable) \u00e7al\u0131\u015ft\u0131r\u0131lmaya \u00e7al\u0131\u015f\u0131ld\u0131\u011f\u0131 i\u015flemci mimarisiyle uyumlu olmamas\u0131 durumunda ortaya \u00e7\u0131kar. Java d\u00fcnyas\u0131nda bu, genellikle Java Sanal Makinesi&#8217;nin (JVM) kendisinin veya onunla birlikte \u00e7al\u0131\u015fan yerel k\u00fct\u00fcphanelerin yanl\u0131\u015f mimari i\u00e7in derlenmi\u015f olmas\u0131 anlam\u0131na gelir. Bu makalede, bu hatan\u0131n nedenlerini derinlemesine inceleyecek, Apple Silicon mimarisinin getirdi\u011fi zorluklar\u0131 ele alacak ve MacBook&#8217;unuzda Java kurulumu yaparken veya mevcut bir Java uygulamas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken bu hatay\u0131 nas\u0131l giderece\u011finize dair kapsaml\u0131 \u00e7\u00f6z\u00fcmler sunaca\u011f\u0131z.<\/p>\n<h3>Apple Silicon ve Mimari Ge\u00e7i\u015f<\/h3>\n<p>Apple&#8217;\u0131n kendi tasar\u0131m\u0131 olan Apple Silicon i\u015flemcilere (M1, M2, M3 vb.) ge\u00e7i\u015fi, Mac ekosistemi i\u00e7in b\u00fcy\u00fck bir d\u00f6n\u00fcm noktas\u0131 olmu\u015ftur. Bu ge\u00e7i\u015f, performansta ve enerji verimlili\u011finde \u00f6nemli iyile\u015ftirmeler sa\u011flarken, yaz\u0131l\u0131m uyumlulu\u011fu konusunda baz\u0131 yeni zorluklar\u0131 da beraberinde getirmi\u015ftir.<\/p>\n<h4>Intel&#8217;den Apple Silicon&#8217;a Ge\u00e7i\u015fin Temelleri<\/h4>\n<p>Geleneksel olarak, MacBook&#8217;lar Intel&#8217;in x86_64 (veya sadece x64) mimarisine sahip i\u015flemcilerini kullan\u0131yordu. Bu mimari, uzun y\u0131llard\u0131r masa\u00fcst\u00fc ve diz\u00fcst\u00fc bilgisayar pazar\u0131nda bask\u0131n konumdayd\u0131. Ancak Apple Silicon i\u015flemcileri, ARM64 (veya sadece ARM) mimarisini temel al\u0131r. ARM mimarisi, ba\u015flang\u0131\u00e7ta mobil cihazlar i\u00e7in tasarlanm\u0131\u015f olup, y\u00fcksek enerji verimlili\u011fi ve performans\/watt oran\u0131yla bilinir. Apple, bu mimariyi kendi donan\u0131m ve yaz\u0131l\u0131m ekosistemiyle derinlemesine entegre ederek, Mac bilgisayarlar\u0131nda benzeri g\u00f6r\u00fclmemi\u015f bir performans ve pil \u00f6mr\u00fc sunmay\u0131 ba\u015farm\u0131\u015ft\u0131r.<\/p>\n<p>Bu mimari fark\u0131, bir yaz\u0131l\u0131m\u0131n veya uygulaman\u0131n do\u011frudan bir mimariden di\u011ferine ta\u015f\u0131namayaca\u011f\u0131 anlam\u0131na gelir. Bir Intel Mac i\u00e7in derlenmi\u015f bir program (x86_64 binary), do\u011frudan bir Apple Silicon Mac&#8217;te (ARM64 binary) \u00e7al\u0131\u015famaz ve tam tersi de ge\u00e7erlidir. Bu durum, &#8220;Bad CPU type in executable&#8221; hatas\u0131n\u0131n temel nedenini olu\u015fturur. \u0130\u015fletim sistemi, kendisine sunulan y\u00fcr\u00fct\u00fclebilir dosyan\u0131n, mevcut i\u015flemcinin anlayabilece\u011fi komut setine sahip olmad\u0131\u011f\u0131n\u0131 fark etti\u011finde bu hatay\u0131 f\u0131rlat\u0131r.<\/p>\n<h4>Rosetta 2 Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h4>\n<p>Apple, Intel&#8217;den Apple Silicon&#8217;a ge\u00e7i\u015f s\u00fcrecini m\u00fcmk\u00fcn oldu\u011funca sorunsuz hale getirmek i\u00e7in Rosetta 2 ad\u0131nda bir \u00e7eviri katman\u0131 geli\u015ftirmi\u015ftir. Rosetta 2, temel olarak Intel (x86_64) uygulamalar\u0131n\u0131n Apple Silicon (ARM64) i\u015flemcilerde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayan bir dinamik ikili \u00e7eviricidir (dynamic binary translator). Bir Intel uygulamas\u0131 ilk kez \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda, Rosetta 2 bu uygulaman\u0131n Intel komutlar\u0131n\u0131 ARM komutlar\u0131na \u00e7evirir ve \u00e7evrilmi\u015f kodu \u00f6nbelle\u011fe al\u0131r. Bu sayede, uygulama sonraki \u00e7al\u0131\u015ft\u0131rmalarda daha h\u0131zl\u0131 ba\u015flat\u0131labilir.<\/p>\n<p>Rosetta 2, \u00e7o\u011fu Intel uygulamas\u0131n\u0131n beklenenden daha iyi performansla \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayarak geli\u015ftiricilere uygulamalar\u0131n\u0131 yerel ARM64 mimarisine ta\u015f\u0131malar\u0131 i\u00e7in zaman tan\u0131m\u0131\u015ft\u0131r. Ancak Rosetta 2&#8217;nin baz\u0131 s\u0131n\u0131rlamalar\u0131 vard\u0131r:<\/p>\n<p>*   <strong>Performans Overhead:<\/strong> \u00c7eviri s\u00fcreci, yerel olarak derlenmi\u015f bir uygulamaya g\u00f6re her zaman bir miktar performans d\u00fc\u015f\u00fc\u015f\u00fcne neden olur.<br \/>\n*   <strong>Yerel K\u00fct\u00fcphaneler:<\/strong> Rosetta 2, yaln\u0131zca x86_64 kodunu \u00e7evirir. E\u011fer bir uygulama, ARM64 mimarisine \u00f6zg\u00fc yerel k\u00fct\u00fcphanelerle veya donan\u0131m aray\u00fczleriyle etkile\u015fime girmeye \u00e7al\u0131\u015f\u0131rsa, Rosetta 2 bu durumu y\u00f6netemez ve hata olu\u015fabilir.<br \/>\n*   <strong>Kernel Uzant\u0131lar\u0131:<\/strong> Rosetta 2, kernel uzant\u0131lar\u0131n\u0131 (\u00e7ekirdek d\u00fczeyinde \u00e7al\u0131\u015fan yaz\u0131l\u0131mlar\u0131) \u00e7eviremez.<br \/>\n*   <strong>Java&#8217;n\u0131n Rol\u00fc:<\/strong> Java uygulamalar\u0131, genellikle JVM \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in platformdan ba\u011f\u0131ms\u0131z kabul edilir. Ancak JVM&#8217;in kendisi, \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u015fletim sistemi ve i\u015flemci mimarisine \u00f6zel olarak derlenmi\u015f yerel bir uygulamad\u0131r. Dolay\u0131s\u0131yla, bir Apple Silicon Mac&#8217;te Java uygulamas\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in ARM64 mimarisine uygun bir JVM (JDK\/JRE) kurulumuna ihtiya\u00e7 vard\u0131r. E\u011fer Intel i\u00e7in derlenmi\u015f bir JVM y\u00fcklenir veya kullan\u0131lmaya \u00e7al\u0131\u015f\u0131l\u0131rsa, Rosetta 2 devreye girer. Ancak bu durum, baz\u0131 senaryolarda sorunlara yol a\u00e7abilir, \u00f6zellikle de JVM&#8217;in kendisi veya onun kulland\u0131\u011f\u0131 yerel eklentiler Rosetta 2&#8217;nin yeteneklerini a\u015farsa.<\/p>\n<h3>&#8220;Bad CPU Type in Executable&#8221; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?<\/h3>\n<p>Bu hatan\u0131n temel nedeni, yukar\u0131da bahsedilen mimari uyumsuzluktur. Ancak Java \u00f6zelinde, bu durumun ortaya \u00e7\u0131k\u0131\u015f \u015fekilleri biraz daha karma\u015f\u0131k olabilir.<\/p>\n<h4>Mimariler Aras\u0131 Uyumsuzluk<\/h4>\n<p>macOS&#8217;ta her y\u00fcr\u00fct\u00fclebilir dosya, Mach-O (Mach Object) format\u0131nda saklan\u0131r. Bu format, dosyan\u0131n hangi CPU mimarisi i\u00e7in derlendi\u011fi bilgisini (\u00f6rne\u011fin, x86_64, arm64) i\u00e7erir. \u0130\u015fletim sistemi, bir uygulamay\u0131 \u00e7al\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, bu bilgiyi kontrol eder. E\u011fer dosyan\u0131n CPU tipi, mevcut i\u015flemcinin CPU tipiyle e\u015fle\u015fmiyorsa ve Rosetta 2 gibi bir \u00e7eviri katman\u0131 devreye giremiyorsa veya devreye girse bile ba\u015far\u0131l\u0131 olam\u0131yorsa, &#8220;Bad CPU type in executable&#8221; hatas\u0131 f\u0131rlat\u0131l\u0131r.<\/p>\n<p>Bu hata, genellikle a\u015fa\u011f\u0131daki senaryolarda g\u00f6r\u00fcl\u00fcr:<\/p>\n<p>*   Bir Intel Mac i\u00e7in derlenmi\u015f bir uygulamay\u0131, Rosetta 2&#8217;nin y\u00fckl\u00fc olmad\u0131\u011f\u0131 veya d\u00fczg\u00fcn \u00e7al\u0131\u015fmad\u0131\u011f\u0131 bir Apple Silicon Mac&#8217;te \u00e7al\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015fmak.<br \/>\n*   Uygulaman\u0131n kendisi bir &#8220;fat binary&#8221; (hem Intel hem de ARM64 kodunu i\u00e7eren evrensel ikili) olmas\u0131na ra\u011fmen, bir \u015fekilde yanl\u0131\u015f mimari b\u00f6l\u00fcm\u00fcn\u00fcn se\u00e7ilmesi veya bir ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n yanl\u0131\u015f mimaride olmas\u0131.<br \/>\n*   En yayg\u0131n olarak, Java geli\u015ftirme ortam\u0131nda, yanl\u0131\u015f mimariye sahip bir Java Geli\u015ftirme Kiti (JDK) s\u00fcr\u00fcm\u00fcn\u00fcn kullan\u0131lmas\u0131.<\/p>\n<h4>Java ve JVM&#8217;in Rol\u00fc<\/h4>\n<p>Java&#8217;n\u0131n &#8220;bir kere yaz, her yerde \u00e7al\u0131\u015ft\u0131r&#8221; felsefesi, Java kodunun (bytecode) platformdan ba\u011f\u0131ms\u0131z oldu\u011fu anlam\u0131na gelir. Ancak bu bytecode&#8217;u \u00e7al\u0131\u015ft\u0131ran Java Sanal Makinesi (JVM), her i\u015fletim sistemi ve i\u015flemci mimarisi i\u00e7in \u00f6zel olarak derlenmi\u015f yerel bir uygulamad\u0131r. Bu nedenle, Apple Silicon Mac&#8217;inizde Java uygulamalar\u0131n\u0131 sorunsuz \u00e7al\u0131\u015ft\u0131rmak i\u00e7in, ARM64 mimarisine \u00f6zel olarak derlenmi\u015f bir JDK&#8217;ya (ve dolay\u0131s\u0131yla bir JVM&#8217;ye) ihtiyac\u0131n\u0131z vard\u0131r.<\/p>\n<p>Hatan\u0131n Java \u00f6zelinde ortaya \u00e7\u0131k\u0131\u015f senaryolar\u0131 \u015funlard\u0131r:<\/p>\n<p>1.  <strong>Yanl\u0131\u015f JDK Kurulumu:<\/strong> En yayg\u0131n neden, bir Apple Silicon Mac&#8217;e Intel (x86_64) mimarisi i\u00e7in derlenmi\u015f bir JDK s\u00fcr\u00fcm\u00fcn\u00fc kurmakt\u0131r. Bu durumda, <code>java<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda, i\u015fletim sistemi Intel tabanl\u0131 <code>java<\/code> y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131 tan\u0131r ve ARM64 i\u015flemcide do\u011frudan \u00e7al\u0131\u015ft\u0131ramayaca\u011f\u0131 i\u00e7in hata verir. Rosetta 2 genellikle bu t\u00fcr durumlar i\u00e7in devreye girer, ancak baz\u0131 durumlarda (\u00f6zellikle belirli yerel k\u00fct\u00fcphaneler veya karma\u015f\u0131k build sistemleri ile) sorunlar ya\u015fanabilir veya hata do\u011frudan f\u0131rlat\u0131labilir.<br \/>\n2.  <strong>Yanl\u0131\u015f <code>JAVA_HOME<\/code> veya <code>PATH<\/code> Ayar\u0131:<\/strong> Birden fazla JDK s\u00fcr\u00fcm\u00fcn\u00fcn kurulu oldu\u011fu durumlarda, <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeni veya <code>PATH<\/code> sistem de\u011fi\u015fkeni yanl\u0131\u015f bir JDK s\u00fcr\u00fcm\u00fcne i\u015faret ediyor olabilir. \u00d6rne\u011fin, sisteminizde hem ARM64 hem de x86_64 JDK&#8217;lar\u0131 y\u00fckl\u00fcyse ve <code>JAVA_HOME<\/code> yanl\u0131\u015fl\u0131kla Intel JDK&#8217;s\u0131na ayarlanm\u0131\u015fsa, &#8220;Bad CPU type&#8221; hatas\u0131 al\u0131rs\u0131n\u0131z.<br \/>\n3.  <strong>Mimariye \u00d6zg\u00fc Ba\u011f\u0131ml\u0131l\u0131klar:<\/strong> Kulland\u0131\u011f\u0131n\u0131z bir Java uygulamas\u0131 veya geli\u015ftirme arac\u0131 (\u00f6rne\u011fin, Maven, Gradle, bir IDE eklentisi) kendi i\u00e7inde mimariye \u00f6zg\u00fc yerel k\u00fct\u00fcphaneler i\u00e7eriyorsa ve bu k\u00fct\u00fcphaneler yanl\u0131\u015f mimari i\u00e7in derlenmi\u015fse, Java kodu do\u011fru JDK ile \u00e7al\u0131\u015fsa bile bu yerel ba\u011f\u0131ml\u0131l\u0131klar nedeniyle hata alabilirsiniz.<br \/>\n4.  <strong>IDE&#8217;lerin Durumu:<\/strong> IntelliJ IDEA, Eclipse gibi pop\u00fcler IDE&#8217;ler de kendi JVM&#8217;leri \u00fczerinde \u00e7al\u0131\u015f\u0131r veya belirli bir JDK&#8217;y\u0131 kullan\u0131r. E\u011fer IDE&#8217;nin kendisi veya onun kulland\u0131\u011f\u0131 JDK yanl\u0131\u015f mimarideyse, IDE i\u00e7inde Java projeleri derlemeye veya \u00e7al\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015f\u0131rken bu hatay\u0131 g\u00f6rebilirsiniz.<\/p>\n<h3>MacBook&#8217;ta Java Kurulumu ve Mimariler<\/h3>\n<p>MacBook&#8217;unuzda Java ile sorunsuz bir deneyim ya\u015famak i\u00e7in, do\u011fru JDK s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7mek ve ortam\u0131n\u0131z\u0131 do\u011fru \u015fekilde yap\u0131land\u0131rmak hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<h4>Do\u011fru JDK S\u00fcr\u00fcm\u00fcn\u00fc Se\u00e7mek<\/h4>\n<p>Apple Silicon Mac kullan\u0131c\u0131lar\u0131 i\u00e7in en kritik ad\u0131m, ARM64 mimarisine uygun bir JDK s\u00fcr\u00fcm\u00fc indirmektir.<\/p>\n<p>*   <strong>Mevcut Mimarinin Kontrol\u00fc:<\/strong> MacBook&#8217;unuzun i\u015flemci mimarisini kontrol etmek i\u00e7in Terminal&#8217;i a\u00e7\u0131p \u015fu komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">arch<\/code><\/pre>\n<p>    E\u011fer \u00e7\u0131kt\u0131 <code>arm64<\/code> ise Apple Silicon, <code>i386<\/code> veya <code>x86_64<\/code> ise Intel i\u015flemcili bir Mac&#8217;iniz var demektir.<br \/>\n    Ayr\u0131ca, \u00e7al\u0131\u015fan Java uygulamas\u0131n\u0131n mimarisini kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">file $(which java)<\/code><\/pre>\n<p>    Bu komutun \u00e7\u0131kt\u0131s\u0131nda <code>arm64<\/code> veya <code>x86_64<\/code> ibaresini aray\u0131n. \u00d6rne\u011fin:<br \/>\n    <code>... Mach-O 64-bit executable arm64<\/code> (Apple Silicon i\u00e7in)<br \/>\n    <code>... Mach-O 64-bit executable x86_64<\/code> (Intel i\u00e7in)<\/p>\n<p>*   <strong>JDK \u0130ndirme Kaynaklar\u0131:<\/strong><br \/>\n    *   <strong>Adoptium (Eclipse Temurin):<\/strong> Genellikle en \u00e7ok \u00f6nerilen ve kullan\u0131lan \u00fccretsiz, a\u00e7\u0131k kaynakl\u0131 OpenJDK da\u011f\u0131t\u0131m\u0131d\u0131r. Web sitelerinde (adoptium.net) &#8220;macOS x64&#8221; (Intel i\u00e7in) ve &#8220;macOS aarch64&#8221; (Apple Silicon\/ARM64 i\u00e7in) se\u00e7eneklerini net bir \u015fekilde g\u00f6receksiniz. Do\u011fru olan\u0131 se\u00e7ti\u011finizden emin olun.<br \/>\n    *   <strong>Azul Zulu:<\/strong> Bir ba\u015fka pop\u00fcler OpenJDK da\u011f\u0131t\u0131m\u0131d\u0131r ve yine hem x64 hem de ARM64 (macOS ARM 64-bit) s\u00fcr\u00fcmlerini sunar.<br \/>\n    *   <strong>Oracle JDK:<\/strong> Oracle&#8217;\u0131n resmi web sitesinden de JDK indirebilirsiniz. Onlar da &#8220;macOS x64&#8221; ve &#8220;macOS ARM64 (M1)&#8221; se\u00e7eneklerini sunarlar.<br \/>\n    *   <strong>OpenJDK (Resmi):<\/strong> OpenJDK projesinin kendi sitesinden de do\u011frudan ikili dosyalar\u0131 indirebilirsiniz, ancak genellikle Adoptium veya Azul gibi da\u011f\u0131t\u0131mlar daha kullan\u0131c\u0131 dostu kurulum paketleri sunar.<\/p>\n<p><strong>\u00d6nemli:<\/strong> \u0130ndirme yaparken &#8220;macOS aarch64&#8221; veya &#8220;macOS ARM64&#8221; etiketli s\u00fcr\u00fcm\u00fc se\u00e7ti\u011finizden kesinlikle emin olun. &#8220;macOS x64&#8221; veya &#8220;macOS Intel&#8221; etiketli s\u00fcr\u00fcmler Intel tabanl\u0131 Mac&#8217;ler i\u00e7indir.<\/p>\n<h4>Farkl\u0131 JDK S\u00fcr\u00fcmlerini Y\u00f6netmek<\/h4>\n<p>Birden fazla JDK s\u00fcr\u00fcm\u00fcyle \u00e7al\u0131\u015fmak (\u00f6rne\u011fin, Java 8, Java 11, Java 17, Java 21) veya farkl\u0131 mimariler i\u00e7in JDK&#8217;lar\u0131 y\u00f6netmek, <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeni ve <code>PATH<\/code> ayarlar\u0131yla karma\u015f\u0131k hale gelebilir. Bu durumu y\u00f6netmek i\u00e7in baz\u0131 ara\u00e7lar ve y\u00f6ntemler mevcuttur.<\/p>\n<p>*   <strong><code>JAVA_HOME<\/code> Ortam De\u011fi\u015fkeni:<\/strong> Bu de\u011fi\u015fken, sisteminize hangi JDK s\u00fcr\u00fcm\u00fcn\u00fcn varsay\u0131lan olarak kullan\u0131laca\u011f\u0131n\u0131 bildirir. Do\u011fru bir \u015fekilde ayarlanmazsa, Terminal&#8217;de <code>java<\/code> komutu yanl\u0131\u015f JDK&#8217;y\u0131 bulabilir. Genellikle <code>~\/.zshrc<\/code> (macOS Catalina ve sonras\u0131 varsay\u0131lan kabuk Zsh i\u00e7in) veya <code>~\/.bash_profile<\/code> (Bash i\u00e7in) dosyas\u0131nda ayarlan\u0131r.<br \/>\n    \u00d6rnek bir <code>JAVA_HOME<\/code> ayar\u0131:<\/p>\n<pre><code class=\"language-bash\">export JAVA_HOME=\"\/Library\/Java\/JavaVirtualMachines\/temurin-17.jdk\/Contents\/Home\"\n    export PATH=\"$JAVA_HOME\/bin:$PATH\"<\/code><\/pre>\n<p>    Bu ayar\u0131 yapt\u0131ktan sonra, Terminal&#8217;i yeniden ba\u015flatman\u0131z veya <code>source ~\/.zshrc<\/code> (veya <code>~\/.bash_profile<\/code>) komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir.<\/p>\n<p>*   <strong><code>jenv<\/code> veya <code>sdkman<\/code> Kullan\u0131m\u0131:<\/strong> Bu ara\u00e7lar, birden fazla JDK s\u00fcr\u00fcm\u00fcn\u00fc kolayca kurman\u0131za, kald\u0131rman\u0131za ve aralar\u0131nda ge\u00e7i\u015f yapman\u0131za olanak tan\u0131r. \u00d6zellikle farkl\u0131 projeler farkl\u0131 Java s\u00fcr\u00fcmleri gerektirdi\u011finde veya mimariler aras\u0131nda ge\u00e7i\u015f yapman\u0131z gerekti\u011finde \u00e7ok kullan\u0131\u015fl\u0131d\u0131rlar.<br \/>\n    *   <strong><code>sdkman<\/code>:<\/strong><\/p>\n<pre><code class=\"language-bash\">curl -s \"https:\/\/get.sdkman.io\" | bash\n        source \"$HOME\/.sdkman\/bin\/sdkman-init.sh\"\n        sdk install java 17.0.9-tem\n        sdk use java 17.0.9-tem<\/code><\/pre>\n<p>        <code>sdkman<\/code> otomatik olarak mimariye uygun JDK&#8217;y\u0131 indirmeye \u00e7al\u0131\u015f\u0131r.<br \/>\n    *   <strong><code>jenv<\/code>:<\/strong><\/p>\n<pre><code class=\"language-bash\">brew install jenv\n        jenv init -\n        # .zshrc veya .bash_profile dosyan\u0131za jenv init \u00e7\u0131kt\u0131s\u0131n\u0131 ekleyin\n        jenv add \/Library\/Java\/JavaVirtualMachines\/temurin-17.jdk\/Contents\/Home\n        jenv global 17.0.9 # veya hangi s\u00fcr\u00fcm\u00fc kullanmak istiyorsan\u0131z<\/code><\/pre>\n<p>        <code>jenv<\/code>, kurulu JDK&#8217;lar\u0131 y\u00f6netir ve <code>JAVA_HOME<\/code>&#8216;u otomatik olarak ayarlar.<\/p>\n<p>*   <strong>Rosetta 2 ile Intel JDK&#8217;s\u0131n\u0131 \u00c7al\u0131\u015ft\u0131rmak:<\/strong> E\u011fer bir nedenle Intel JDK&#8217;s\u0131n\u0131 kullanman\u0131z gerekiyorsa (\u00f6rne\u011fin, eski bir proje veya ba\u011f\u0131ml\u0131l\u0131k nedeniyle), Rosetta 2&#8217;yi kullanarak belirli bir komutu Intel mimarisi alt\u0131nda \u00e7al\u0131\u015ft\u0131rmaya zorlayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">arch -x86_64 java -version\n    arch -x86_64 \/path\/to\/your\/intel\/jdk\/bin\/java -jar YourApp.jar<\/code><\/pre>\n<p>    Bu komut, belirtilen komutu Rosetta 2 \u00e7evirisi alt\u0131nda, yani Intel mimarisi gibi davranarak \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 s\u00f6yler. Ancak bu, ge\u00e7ici bir \u00e7\u00f6z\u00fcmd\u00fcr ve m\u00fcmk\u00fcn oldu\u011funca yerel ARM64 JDK kullan\u0131lmas\u0131 \u00f6nerilir.<\/p>\n<h3>&#8220;Bad CPU Type&#8221; Hatas\u0131n\u0131 \u00c7\u00f6zme Y\u00f6ntemleri<\/h3>\n<p>Bu hatay\u0131 gidermek i\u00e7in izleyebilece\u011finiz ad\u0131mlar, genellikle yanl\u0131\u015f yap\u0131land\u0131rmay\u0131 bulmaya ve d\u00fczeltmeye odaklan\u0131r.<\/p>\n<h4>1. Do\u011fru JDK S\u00fcr\u00fcm\u00fcn\u00fc Kurmak<\/h4>\n<p>Bu, hatay\u0131 \u00e7\u00f6zmenin en do\u011frudan ve en etkili yoludur.<\/p>\n<p>*   <strong>Mevcut Java S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Edin:<\/strong><\/p>\n<pre><code class=\"language-bash\">java -version\n    file $(which java)<\/code><\/pre>\n<p>    <code>file<\/code> komutunun \u00e7\u0131kt\u0131s\u0131 <code>x86_64<\/code> i\u00e7eriyorsa, Intel tabanl\u0131 bir JDK kullan\u0131yorsunuz demektir.<br \/>\n*   <strong>Yanl\u0131\u015f JDK&#8217;y\u0131 Kald\u0131r\u0131n (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir):<\/strong> E\u011fer yanl\u0131\u015f bir Intel JDK&#8217;s\u0131 kuruluysa ve art\u0131k ihtiyac\u0131n\u0131z yoksa, onu kald\u0131rmak kar\u0131\u015f\u0131kl\u0131\u011f\u0131 \u00f6nler. JDK&#8217;lar genellikle <code>\/Library\/Java\/JavaVirtualMachines\/<\/code> dizininde bulunur. \u0130lgili JDK klas\u00f6r\u00fcn\u00fc (\u00f6rne\u011fin, <code>jdk-17.0.1.jdk<\/code> veya <code>temurin-17.jdk<\/code>) silerek kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/Library\/Java\/JavaVirtualMachines\/temurin-17.jdk # \u00d6rnek bir yol<\/code><\/pre>\n<p>*   <strong>Do\u011fru ARM64 JDK&#8217;y\u0131 \u0130ndirin ve Kurun:<\/strong> Yukar\u0131da bahsedilen Adoptium, Azul Zulu veya Oracle gibi kaynaklardan macOS ARM64 (aarch64) s\u00fcr\u00fcm\u00fcn\u00fc indirin. Genellikle bir <code>.pkg<\/code> y\u00fckleyici dosyas\u0131 gelir; bunu \u00e7al\u0131\u015ft\u0131rarak kurulumu tamamlay\u0131n.<br \/>\n*   <strong>Kurulumu Do\u011frulay\u0131n:<\/strong> Kurulumdan sonra Terminal&#8217;i yeniden ba\u015flat\u0131n ve tekrar <code>file $(which java)<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. \u00c7\u0131kt\u0131n\u0131n <code>arm64<\/code> i\u00e7erdi\u011finden emin olun.<\/p>\n<h4>2. Ortam De\u011fi\u015fkenlerini Kontrol Etmek<\/h4>\n<p><code>JAVA_HOME<\/code> ve <code>PATH<\/code> de\u011fi\u015fkenlerinin do\u011fru JDK&#8217;ya i\u015faret etti\u011finden emin olun.<\/p>\n<p>*   <strong>Mevcut Ortam De\u011fi\u015fkenlerini Kontrol Edin:<\/strong><\/p>\n<pre><code class=\"language-bash\">echo $JAVA_HOME\n    echo $PATH<\/code><\/pre>\n<p>    <code>JAVA_HOME<\/code> \u00e7\u0131kt\u0131s\u0131, kurdu\u011funuz ARM64 JDK&#8217;s\u0131n\u0131n <code>Contents\/Home<\/code> dizinine i\u015faret etmelidir. \u00d6rne\u011fin: <code>\/Library\/Java\/JavaVirtualMachines\/temurin-17.jdk\/Contents\/Home<\/code>. E\u011fer yanl\u0131\u015f bir yola i\u015faret ediyorsa veya bo\u015fsa, d\u00fczeltmeniz gerekir.<br \/>\n*   <strong>Ortam De\u011fi\u015fkenlerini D\u00fczeltin:<\/strong> <code>~\/.zshrc<\/code> (Zsh i\u00e7in) veya <code>~\/.bash_profile<\/code> (Bash i\u00e7in) dosyas\u0131n\u0131 bir metin d\u00fczenleyiciyle a\u00e7\u0131n (\u00f6rne\u011fin <code>nano ~\/.zshrc<\/code>) ve <code>JAVA_HOME<\/code> ile <code>PATH<\/code> ayarlar\u0131n\u0131 do\u011fru JDK yoluna g\u00f6re g\u00fcncelleyin.<\/p>\n<pre><code class=\"language-bash\"># \u00d6rnek do\u011fru ayar\n    export JAVA_HOME=\"\/Library\/Java\/JavaVirtualMachines\/temurin-17.jdk\/Contents\/Home\"\n    export PATH=\"$JAVA_HOME\/bin:$PATH\"<\/code><\/pre>\n<p>    De\u011fi\u015fiklikleri kaydettikten sonra, Terminal&#8217;i yeniden ba\u015flat\u0131n veya <code>source ~\/.zshrc<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<h4>3. Rosetta 2&#8217;yi Kullanarak Ge\u00e7ici \u00c7\u00f6z\u00fcmler<\/h4>\n<p>E\u011fer bir Intel tabanl\u0131 Java uygulamas\u0131 veya geli\u015ftirme arac\u0131 \u00e7al\u0131\u015ft\u0131rman\u0131z gerekiyorsa ve hen\u00fcz ARM64 s\u00fcr\u00fcm\u00fc mevcut de\u011filse, Rosetta 2&#8217;yi kullanabilirsiniz.<\/p>\n<p>*   <strong>Uygulamay\u0131 Rosetta 2 ile \u00c7al\u0131\u015ft\u0131rmaya Zorlamak:<\/strong><\/p>\n<pre><code class=\"language-bash\">arch -x86_64 \/path\/to\/your\/app\/executable<\/code><\/pre>\n<p>    \u00d6rne\u011fin, e\u011fer bir Intel JDK&#8217;s\u0131n\u0131 kullanmak istiyorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">arch -x86_64 \/Library\/Java\/JavaVirtualMachines\/intel-jdk-11.jdk\/Contents\/Home\/bin\/java -jar YourApp.jar<\/code><\/pre>\n<p>*   <strong>IDE&#8217;leri Rosetta Modunda \u00c7al\u0131\u015ft\u0131rmak:<\/strong> Baz\u0131 IDE&#8217;lerin (\u00f6zellikle eski s\u00fcr\u00fcmleri) Apple Silicon i\u00e7in yerel deste\u011fi olmayabilir. Bu durumda, IDE&#8217;yi Rosetta 2 modunda \u00e7al\u0131\u015ft\u0131rabilirsiniz:<br \/>\n    *   IDE uygulamas\u0131n\u0131 Finder&#8217;da bulun (genellikle <code>Uygulamalar<\/code> klas\u00f6r\u00fcnde).<br \/>\n    *   Uygulamaya sa\u011f t\u0131klay\u0131n ve &#8220;Bilgi Ver&#8221; (Get Info) se\u00e7ene\u011fini se\u00e7in.<br \/>\n    *   A\u00e7\u0131lan pencerede &#8220;Rosetta Kullanarak A\u00e7&#8221; (Open using Rosetta) onay kutusunu i\u015faretleyin.<br \/>\n    *   IDE&#8217;yi yeniden ba\u015flat\u0131n. Bu, IDE&#8217;nin ve onunla birlikte \u00e7al\u0131\u015fan t\u00fcm s\u00fcre\u00e7lerin Intel mimarisi alt\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu sayede, Intel JDK&#8217;lar\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 sorunsuz \u00e7al\u0131\u015fabilir.<\/p>\n<h4>4. Uygulama ve Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Kontrol Etmek<\/h4>\n<p>Hata, do\u011frudan Java veya JVM&#8217;den gelmeyip, kulland\u0131\u011f\u0131n\u0131z bir Java uygulamas\u0131n\u0131n veya onun ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n mimari uyumsuzlu\u011fundan kaynaklan\u0131yor olabilir.<\/p>\n<p>*   <strong>Yerel K\u00fct\u00fcphaneler:<\/strong> E\u011fer Java uygulaman\u0131z JNI (Java Native Interface) arac\u0131l\u0131\u011f\u0131yla yerel k\u00fct\u00fcphaneler (\u00f6rne\u011fin, <code>.dylib<\/code> veya <code>.so<\/code> dosyalar\u0131) kullan\u0131yorsa, bu k\u00fct\u00fcphanelerin de ARM64 i\u00e7in derlenmi\u015f olmas\u0131 gerekir. E\u011fer bunlar x86_64 ise, uygulama &#8220;Bad CPU type&#8221; hatas\u0131 verebilir. Bu durumda, k\u00fct\u00fcphanelerin ARM64 s\u00fcr\u00fcmlerini bulman\u0131z veya projenin kaynak koduna eri\u015fiminiz varsa kendiniz derlemeniz gerekebilir.<br \/>\n*   <strong>Maven\/Gradle Eklentileri:<\/strong> Baz\u0131 Maven veya Gradle eklentileri, kendi i\u00e7inde yerel kodlar i\u00e7erebilir. Bu eklentilerin ARM64 uyumlu s\u00fcr\u00fcmlerini kulland\u0131\u011f\u0131n\u0131zdan emin olun. Projenizin <code>pom.xml<\/code> veya <code>build.gradle<\/code> dosyalar\u0131n\u0131 kontrol ederek eklenti s\u00fcr\u00fcmlerini g\u00fcncelleyebilirsiniz.<br \/>\n*   <strong>Docker Konteynerleri:<\/strong> E\u011fer Java uygulaman\u0131z\u0131 Docker i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, Docker imaj\u0131n\u0131z\u0131n temel imaj\u0131n\u0131n (base image) do\u011fru mimari i\u00e7in oldu\u011fundan emin olun. Apple Silicon Mac&#8217;lerde Docker Desktop, x86_64 imajlar\u0131n\u0131 Rosetta 2 arac\u0131l\u0131\u011f\u0131yla \u00e7al\u0131\u015ft\u0131rabilir, ancak bu performans sorunlar\u0131na yol a\u00e7abilir. M\u00fcmk\u00fcnse <code>arm64v8<\/code> gibi ARM tabanl\u0131 bir temel imaj kullan\u0131n.<\/p>\n<h4>5. Geli\u015ftirme Ortam\u0131n\u0131 G\u00fcncellemek<\/h4>\n<p>Kulland\u0131\u011f\u0131n\u0131z IDE&#8217;lerin, build ara\u00e7lar\u0131n\u0131n ve di\u011fer geli\u015ftirme yard\u0131mc\u0131lar\u0131n\u0131n en g\u00fcncel s\u00fcr\u00fcmlerini kullanmak, Apple Silicon uyumlulu\u011fu a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<p>*   <strong>IDE G\u00fcncellemeleri:<\/strong> IntelliJ IDEA, Eclipse, VS Code gibi IDE&#8217;lerin en son s\u00fcr\u00fcmleri genellikle Apple Silicon i\u00e7in yerel destek sunar. IDE&#8217;nizi g\u00fcncelleyerek bu deste\u011fi alabilirsiniz.<br \/>\n*   <strong>Build Ara\u00e7lar\u0131:<\/strong> Maven, Gradle gibi build ara\u00e7lar\u0131n\u0131n da en son s\u00fcr\u00fcmlerini kullan\u0131n. Bu ara\u00e7lar\u0131n kendileri de Java \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, do\u011fru JDK ile \u00e7al\u0131\u015ft\u0131klar\u0131ndan emin olun.<br \/>\n*   <strong>Homebrew G\u00fcncellemeleri:<\/strong> E\u011fer Homebrew ile paketler y\u00fckl\u00fcyorsan\u0131z, <code>brew update && brew upgrade<\/code> komutlar\u0131yla t\u00fcm paketlerinizi g\u00fcncel tutun. Homebrew, Apple Silicon i\u00e7in yerel ARM64 kurulumlar\u0131 sunar ve genellikle do\u011fru mimariyi otomatik olarak se\u00e7er.<\/p>\n<h3>\u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<p>*   <strong>Her Zaman Native (ARM64) JDK&#8217;y\u0131 Tercih Edin:<\/strong> M\u00fcmk\u00fcn olan her durumda, Apple Silicon Mac&#8217;inizde ARM64 mimarisi i\u00e7in derlenmi\u015f JDK&#8217;y\u0131 kullan\u0131n. Bu, en iyi performans\u0131 ve uyumlulu\u011fu sa\u011flar.<br \/>\n*   <strong><code>sdkman<\/code> veya <code>jenv<\/code> Gibi Ara\u00e7lar\u0131 Kullan\u0131n:<\/strong> Bu ara\u00e7lar, farkl\u0131 Java s\u00fcr\u00fcmlerini ve mimarilerini y\u00f6netmeyi basitle\u015ftirir. \u00d6zellikle birden fazla projede veya farkl\u0131 Java s\u00fcr\u00fcmleriyle \u00e7al\u0131\u015f\u0131yorsan\u0131z vazge\u00e7ilmezdirler.<br \/>\n*   <strong>S\u00fcrekli G\u00fcncel Kal\u0131n:<\/strong> macOS&#8217;u, JDK&#8217;y\u0131, IDE&#8217;leri ve di\u011fer geli\u015ftirme ara\u00e7lar\u0131n\u0131z\u0131 g\u00fcncel tutmak, Apple Silicon uyumlulu\u011fuyla ilgili sorunlar\u0131 en aza indirmenin anahtar\u0131d\u0131r.<br \/>\n*   <strong>Hata Mesajlar\u0131n\u0131 Dikkatlice Okuyun:<\/strong> &#8220;Bad CPU type in executable&#8221; hatas\u0131 genellikle do\u011frudan bir \u00e7\u00f6z\u00fcm sunmaz, ancak hata mesaj\u0131n\u0131n tamam\u0131 veya uygulaman\u0131n loglar\u0131, sorunun kayna\u011f\u0131 hakk\u0131nda ipu\u00e7lar\u0131 verebilir.<br \/>\n*   <strong>Universal Binary Kavram\u0131:<\/strong> Baz\u0131 uygulamalar (\u00f6rne\u011fin, <code>git<\/code>, <code>docker<\/code> gibi komut sat\u0131r\u0131 ara\u00e7lar\u0131 veya pop\u00fcler IDE&#8217;ler) &#8220;universal binary&#8221; (evrensel ikili) olarak da\u011f\u0131t\u0131l\u0131r. Bu, tek bir dosyan\u0131n hem x86_64 hem de ARM64 kodunu i\u00e7erdi\u011fi ve i\u015fletim sisteminin otomatik olarak do\u011fru mimariyi se\u00e7ti\u011fi anlam\u0131na gelir. Java JDK&#8217;lar\u0131 genellikle evrensel ikili de\u011fildir, ancak baz\u0131 Java uygulamalar\u0131 bu \u015fekilde da\u011f\u0131t\u0131labilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>&#8220;Bad CPU type in executable&#8221; hatas\u0131, Apple Silicon MacBook&#8217;larda Java geli\u015ftiricileri i\u00e7in kar\u015f\u0131la\u015f\u0131labilecek yayg\u0131n bir sorundur, ancak genellikle do\u011fru JDK s\u00fcr\u00fcm\u00fcn\u00fc kurarak ve ortam de\u011fi\u015fkenlerini do\u011fru \u015fekilde yap\u0131land\u0131rarak kolayca \u00e7\u00f6z\u00fclebilir. Bu hatan\u0131n temelinde, Intel&#8217;in x86_64 mimarisi ile Apple&#8217;\u0131n ARM64 mimarisi aras\u0131ndaki uyumsuzluk yatar. Rosetta 2, bu ge\u00e7i\u015fi kolayla\u015ft\u0131rmak i\u00e7in \u00f6nemli bir rol oynasa da, en iyi performans\u0131 ve uyumlulu\u011fu elde etmek i\u00e7in her zaman ARM64 mimarisine \u00f6zel olarak derlenmi\u015f bir JDK kullanmak en do\u011fru yakla\u015f\u0131md\u0131r.<\/p>\n<p>Geli\u015ftirme ortam\u0131n\u0131z\u0131 g\u00fcncel tutmak, <code>JAVA_HOME<\/code> ve <code>PATH<\/code> ayarlar\u0131n\u0131z\u0131 d\u00fczenli olarak kontrol etmek ve <code>sdkman<\/code> veya <code>jenv<\/code> gibi ara\u00e7larla JDK y\u00f6netiminizi otomatikle\u015ftirmek, bu t\u00fcr mimari kaynakl\u0131 sorunlar\u0131n \u00f6n\u00fcne ge\u00e7menize yard\u0131mc\u0131 olacakt\u0131r. Apple Silicon platformu olgunla\u015ft\u0131k\u00e7a ve yaz\u0131l\u0131m ekosistemi tamamen yerel ARM64 deste\u011fine ge\u00e7tik\u00e7e, bu t\u00fcr hatalar daha az s\u0131kl\u0131kta g\u00f6r\u00fclecektir. Ancak \u015fimdilik, mimari fark\u0131ndal\u0131k ve do\u011fru yap\u0131land\u0131rma, sorunsuz bir Java geli\u015ftirme deneyimi i\u00e7in kritik \u00f6neme sahiptir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k\n&#8220;Bad CPU type in executable&#8221; hatas\u0131, \u00f6zellikl","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1408],"tags":[],"class_list":{"0":"post-32720","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-java","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MacBook&#039;ta Java Kurulumunda &quot;Bad CPU Type in Executable&quot; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MacBook&#039;ta Java Kurulumunda &quot;Bad CPU Type in Executable&quot; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k\" \/>\n<meta property=\"og:description\" content=\"MacBook&#039;ta Java Kurulumunda &quot;Bad CPU Type in Executable&quot; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k &quot;Bad CPU type in executable&quot; hatas\u0131, \u00f6zellikl\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-25T02:40:52+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k\",\"datePublished\":\"2025-10-25T02:40:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\"},\"wordCount\":3128,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Java\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\",\"name\":\"MacBook'ta Java Kurulumunda \\\"Bad CPU Type in Executable\\\" Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-25T02:40:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MacBook'ta Java Kurulumunda \"Bad CPU Type in Executable\" Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/","og_locale":"tr_TR","og_type":"article","og_title":"MacBook'ta Java Kurulumunda \"Bad CPU Type in Executable\" Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k","og_description":"MacBook'ta Java Kurulumunda \"Bad CPU Type in Executable\" Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k \"Bad CPU type in executable\" hatas\u0131, \u00f6zellikl","og_url":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-25T02:40:52+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k","datePublished":"2025-10-25T02:40:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/"},"wordCount":3128,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Java"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/","url":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/","name":"MacBook'ta Java Kurulumunda \"Bad CPU Type in Executable\" Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-25T02:40:52+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/macbookta-java-kurulumunda-bad-cpu-type-in-executable-hatasi-cozumler-ve-mimari-farkindalik\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MacBook&#8217;ta Java Kurulumunda &#8220;Bad CPU Type in Executable&#8221; Hatas\u0131: \u00c7\u00f6z\u00fcmler ve Mimari Fark\u0131ndal\u0131k"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32720"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32720\/revisions"}],"predecessor-version":[{"id":32721,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32720\/revisions\/32721"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}