OS X'te 64-bit Java'yı zorla


1

Eskiden (Java sistemlerimiz için Apple tarafından kullanılmadığında), kontrol panelinde Java'nın hangi versiyonunun tercih edildiğini seçmenize izin veren bir liste vardı. Bu söyleyebileceğim kadarıyla artık yok.

Görünüşe göre ya JavaApplicationStub'ta ya da uygulama paketindeki info.plist'te işlenir. Çok fazla Mac işi yapmayan bir oyun geliştiricisine yardım ediyorum ve daha önce bu gerçekten önemli değildi, ama şimdi.

Söz konusu dosyalara eklemem gereken tam satırları arıyorum (varsayalım ki, doğru bilgiyi yorumluyorum).

Yapabildiğim kadar arama yaptım, ancak bulabildiğim tek şey 2005 ya da öylesine eski bir Mac yardım dosyası. eski yöntem Ayrıca hiçbir işlem yapmadan Stack Overflow'u aramayı da denedim.

Herhangi bir yardım çok takdir edilecektir. Ayrıca, bu SO benim ilk kez gönderme, bu yüzden benim yazı herhangi bir hata yaptıysanız, lütfen bana işaret. Verebileceğiniz her yardım için şimdiden teşekkürler.

64 bit hızında çalışmam gerekiyor, çünkü 32 bit bellek yetersizliğine neden oluyor. Spesifikasyonlar özellikle gerekli değildir - önemli olan, 64 bit hızında çalışması gerekmesidir. 32'de kalırsa ortadan kalkacak bir sorun değil ve yine de biraz daha iyi performans nedeniyle uzun vadede 64 olmasını tercih ediyoruz.


64 bit java'yı neden zorlamanız gerekiyor?
Michael Kohne

Yanıtlar:


1

Java-D64 gibi bir şeyden mi bahsediyorsun?

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32      use a 32-bit data model if available
    -d64      use a 64-bit data model if available

uygulama paketi ile bunu MainClass anahtarından önce Info.plist'e ekleyin:

    <dict>
    <key>VMOptions</key>
    <string>-d64</string>

Cevabınız için teşekkürler - bu JavaApplicationStub'a olur mu? Şu anda elimde olan tek şey derlenmiş sürüm, ancak orijinal dosyayı alabilmeliyim (derlenmiş olduğunu sanıyorum). Ayrıca açıklığa kavuşturmalıyım, çoğunlukla Java okuyabilirim ama yazamam. Bir kodlayıcıdan çok bir yazar / geliştiriciyim (ve sadece sorduğum projeye yardım etmek için gönüllü oluyorum, hiç takıma bağlı değilim).

Daha açıklığa kavuşturmak / sorgulamak için: Normalde Windows için 32 bit veya 64 bit mimarilerde çalışmasına izin veren .bats ile birlikte gelir. Bunun, doğru bayrağı doğru yere eklemek yerine OS X'te 64-bit'de çalışması için yapılması gereken başka bir iş olmadığı anlamına geldiğini farz ediyorum? Bonus bir soru olarak .bat dosyaları info.plist'in OS X için yaptığı gibi aynı şeyi mi gerçekleştiriyor yoksa JavaApplicationStub'a daha mı benziyor (en azından bu özel örnekte)? .Bat dosyalarının genellikle kabuk komut dosyalarının karşılığı olduğunu biliyorum.

Çoğu durumda 32 bit yeterli olduğundan, neden 64 bit kullandığınızı merak ediyorum. Bir kabuk betiği (.sh) sizin için çalışıyorsa, kolay bir düzeltme olabilir, komut satırına sadece -d64 ekleyin. JavaApplicationStub..though ile aşina değilim. bir yerde belirtmenin bir yolu olmalı.
sma

Uzun lafın kısası oyun şu anda 32-bit mimarilerde bellek hatalarına neden oluyor. Bu gerçekten uzun vadeli bir sorun değil, fakat ara sıra sıralanmaya çalıştığım bir şey. Oyun şu anda .sh ile değil, uygulama paketi ile başlatılıyor, bu yüzden masadan biraz uzaklaşıyor. Anladığım kadarıyla, bu info.plist içinde ele alınabilir - ne ekleyeceğimi ve nereye bilmiyorum. Ayrıca, OSX'in benim anladığım kadarıyla bazı başlatma parametrelerini aldığı JavaApplicationStub tarafından da ele alınabilir. informagen.com/JarBundler/StubFile.html

Düzenlemenizi henüz farkettim. Şimdi "Uygulama Adı" uygulamasını açamıyorsunuz çünkü hasar görmüş veya eksik olabilir. " Herhangi bir fikir? Bu arada, yardımın için minnettarım.

0

Java 7'yi OS X uygulama paketinizle paketlemek için bu talimatlara bakın . OS X'teki Java 7 yalnızca 64 bit. Bu şimdi, Java uygulamalarını OS X'te paketlemenin tercih edilen yolu ve Mac Store'un bunları kabul etmesinin tek yolu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.