Java

از ArchWiki پارسی
پرش به: ناوبری، جستجو

Tango-preferences-desktop-locale.pngاین مقاله یا بخش نیازمند این است که ترجمه شود.Tango-preferences-desktop-locale.png

یادداشت: در حال ترجمه است. (در بحث:Java# در این مورد تبادل نظر کنید.)
نشان جاوا

از مقاله ویکی پدیا:

جاوا (به انگلیسی: Java) یک زبان برنامه‌نویسیِ شئ‌گرا است که برای نخستین بار توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد گردید و در سال ۱۹۹۵ به عنوان بخشی از سکوی جاوا منتشر شد. زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسان‌تری دارد و از قابلیت‌های سطح پایین کمتری پشتیبانی می‌کند. یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد. ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به این زبان بالا است و وابسته به سیستم‌عامل خاصی نیست، به عبارت دیگر می‌توان آن را روی هر رایانه با هر نوع سیستم‌عاملی اجرا کرد. برنامه‌های جاوا به صورت کدهای بیتی همگردانی (کامپایل) می‌شوند؛ که مانند کد ماشین هستند و به ویژه وابسته به سیستم‌عامل خاصی نیستند.

آرچ لینوکس به طور رسمی از نسخه های 7 و 8 OpenJDK پشتیبانی میکند.تمامی این JVM ها بدون تداخل و بدون نیاز به استفاده از اسکریپت ‎archlinux-java‎ قابل نصب هستند.بقیه محیط های جاوا در AUR موجود هستند اما به صورت رسمی پشتیبانی نمی شوند.

نصب

توجه: با نصب JDK به طور خودکار وابستگی JRE آن هم نصب می گردد.
توجه: پس از نصب،محیط جاوا نیاز به شناخته شدن توسط شل دارد.(از طریق متغیر ‎$PATH‎)این عمل یا توسط سورس دادن به ‎/etc/profile‎ از طریق ترمینال میسر است یا با یک بار عملیات خروج از محیط دسکتاپ(Log Out) صورت می پذیرد.

دو بسته متدوال با نام های:java-runtime-common و java-environment-common به طور خودکار توسط وابستگی ها گرفته شده و فایلی در مسیر ‎/etc/profile.d/jre.sh‎ایجاد می کنند.این فایل شامل تمامی متغیرهای رایج محیطی JVM است.بسته java-runtime-common هم چنین،یک اسکریپت تسهیل گر با نام ‎archlinux-java‎ مهیا می کند که توانایی نمایش و تغییر محیط پیش فرض جاوا را داراست.این اسکریپت،لینک هایی ‎/usr/lib/jvm/default‎ و ‎/usr/lib/jvm/default-runtime‎ را برای اشاره به محیط نصب شده نامتناقض معتبر جاوا(valid non-conflicting Java environment installed) و محیط زمان اجرایی(Java runtime) که در ‎/usr/lib/jvm/java-${JAVA_MAJOR_VERSION}-${VENDOR_NAME‎} وجود دارد جاگذاری می کند. تمامی اجراییاتی که توسط محیط جاوا ارایه می گردند مجموعه لینک های مستقیمی از ‎/usr/bin‎ دارند و باقی نیز در ‎$PATH‎ موجودند.

هشدار: فایل ‎/etc/profile.d/jdk.sh‎ توسط هیچ بسته دیگری ارایه نمی شود.

بسته های زیر،همگی در مخازن رسمی موجودند:

OpenJDK 7

Package name Use
jre7-openjdk-headless Java runtime environment (JRE) without any graphical tool - version 7
jre7-openjdk Complete Java Runtime Environment (JRE) - version 7
jdk7-openjdk Java Development Kit (JDK) - version 7
openjdk7-doc OpenJDK javadoc - version 7
openjdk7-src OpenJDK sources - version 7

OpenJDK 8

Package name Use
jre8-openjdk-headless Java runtime environment (JRE) without any graphical tool - version 8
jre8-openjdk Complete Java Runtime Environment (JRE) - version 8
jdk8-openjdk Java Development Kit (JDK) - version 8
openjdk8-doc OpenJDK javadoc - version 8
openjdk8-src OpenJDK sources - version 8

OpenJFX

JavaFX از طریق مخازن رسمی در دسترس است و به OpenJDK 8 نیازمند است.

Package name Use
java-openjfx Java OpenJFX 8 client application platform (open-source implementation of JavaFX)
java-openjfx-doc OpenJFX javadoc
java-openjfx-src OpenJFX sources

بسته های قدیمی تر

اگرچه بسته های انتشار یافته آرچ لینوکس ممکن است حاوی ارجاعی به نسخه اصلی بسته ای که از روی آن ساخته شده است باشد،اما پروژه متن باز معادل آن بسته در عین حال حاوی طرح و برنامه نسخه گذاری مخصوص به خود است.

سوییچ بین JVM ها

اسکریپت ‎archlinux-java‎ چنین قابلیتی را فراهم میکند.

 COMMAND:
status		List installed Java environments and enabled one
get		Return the short name of the Java environment set as default
set <JAVA_ENV>	Force <JAVA_ENV> as default
unset		Unset current default Java environment
fix		Fix an invalid/broken default Java environment configuration

لیست محیط های سازگار نصب شده ی جاوا

 $ archlinux-java status

بعنوان مثال:

$ archlinux-java status
 Available Java environments:
java-7-openjdk (default)
java-8-openjdk/jre


به اولین مدخل ‎java-7-openjdk‎ که هم اکنون به عنوان محیط "پیش فرض" انتخاب شده است توجه نمایید.فراخوانی ‎جاوا‎ و دیگر فایل های باینری با تکیه بر این نسخه نصب شده است.توجه به این نکته نیز خالی از لطف نیست که خروجی مثال قبل،تنها بخش JRE از OpenJDK 8 نصب شده بر روی سیستم را نشان می داد.

عوض کردن محیط پیشفرض جاوا(java environment)

# archlinux-java set <JAVA_ENV_NAME>

Example:

# archlinux-java set java-8-openjdk/jre
نکته: برای دیدن اسامی ‎<JAVA_ENV_NAME>‎ از ‎archlinux-java status‎ استفاده کنید.

توجه به این نکته ضروری است که ‎archlinux-java‎ به شما اجازه ست کردن محیط جاوای غیر معتبر را نمی دهد.در مثال قبلی،jre8-openjdkنصب شده بود اما jdk8-openjdk توسط ‎java-8-openjdk‎ ست نشده است.

# archlinux-java set java-8-openjdk
 '/usr/lib/jvm/java-8-openjdk' is not a valid Java environment path

unsetکردن محیط پیش فرض جاوا

نیازی به آنست کردن محیط جاوا ندارید،زیرا بسته مربوطه این کار را برای شما انجام می دهند.اگر همچنان نیاز به آن ست کردن جاوا داشتید:


 # archlinux-java unset

تثبیت محیط پیش فرض جاوا

اگر لینک محیطی نامعتبری از جاوا در سیستم تان ست شده است،دستور ‎archlinux-java fix‎ را برای تعمیر آن فراخوانی کنید.توجه به این نکته ضروری است که اگر محیط جاوا برایتان ست نشده باشد،به صورت خودکار برایتان دایرکتوری های خاصی را سرچ میکند و عملیات ست کردن را انجام می دهد.بسته های رسما پشتیبانی شده ی "OpenJDK 7" و "OpenJDK 8" در صف اول اولویت قرار دارند.نسبت به بسته های غیر رسمی ای که از AUR گرفته می شوند.


 # archlinux-java fix

Launching an application with the non-default java version

اگر نیاز به اجرای برنامه ای با نسخه ی متفاوتی از جاوا نسبت به نسخه پیش فرض روی سیستم تان را داشتید.(مثلا به طور همزمان jre7 و jre8 روی سیستم تان نصب شده باشد.)می توانید برنامه تان را در قالب اسکریپت بشی که PATH پیش فرض تان را تغییر می دهد پنهان کنید.به طور مثال اگر ورژن پیش فرض jre7 باشد و شما از jre8 بخواهید استفاده کنید:


 #!/bin/sh 
 
 export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:$PATH
 exec /path/to/application

Package pre-requisites to support ‎archlinux-java‎

این بخش مختص کسانی است که قصد تهیه بسته های جهت ارایه در AUR را برای یک JVM دارند و البته قابلیت هماهنگ شدن با JVM آرچ لینوکس را با استفاده از ‎archlinux-java‎ داشته باشد.برای این کار،بسته ها بایستی:

  • تمامی فایل ها را در ‎/usr/lib/jvm/java-${JAVA_MAJOR_VERSION}-${VENDOR_NAME} ‎ قرار دهید.
  • مطمین گردید که تمامی فایل های اجرایی که در مسیر های :java-runtime-common وjava-environment-common قرار دارند،لینک ها را به بسته های مربوطه هدایت میکنند.
  • لینک ها را از ‎/usr/bin‎ به executables انتقال دهید.در صورتی که این لینک ها به دو گروه:java-runtime-common و java-environment-commonمتلق نباشند.
  • من پیج ها را بوسیله ‎-${VENDOR_NAME}${JAVA_MAJOR_VERSION} ‎ پسوند گزاری کنید تا از مغایرت های احتمالی جلوگیری بعمل آمده باشد.

(صفحه jre8-openjdk file list را ببیند.جایی که من پیج ها با ‎-openjdk8‎ پسوند گزاری شده اند.)

  • هیچ یک از conflicts و replaces را با jdk های دیگر و یا با ‎java-runtime‎, ‎java-runtime-headless‎ nor ‎java-environment‎تعریف نکنید.
  • از اسکریپت ‎archlinux-java‎ در تابع نصب برای ست کردن محیط های جاوا استفاده کنید.(در صورتی که محیط جاوایی معتبر دیگری،قبلا ست نشده باشد.).به عنوان مثال:بسته ها نبایستی با سوییچ force به صورت پیش فرض نصب شوند.به عنوان مثال ببینید:officially supported Java environment package sources

هم چنین توجه داشته باشید که:

  • بسته هایی که به هر یک از محیط های جاوایی نیازمندند بایستی ‎java-runtime‎, ‎java-runtime-headless‎ یا ‎java-environment‎ را به عنوان وابستگی های خود لحاظ کنند.
  • بسته هایی که به یک نوع خاص از جاوا نیازمندند،وابستگی ها را بایستی در بسته های متناظرشان تعریف کنند.
  • بسته های openJdk متغیر ‎provides="java-runtime-openjdk=${pkgver}"‎ را تعریف می کنند.این ویژگی به بسته های شخص ثالث،امکان تعریف وابستگی ها را در داخل openJdk بدون مشخص کردن ورژن برنامه میسیر می سازد.


Unsupported JVM from AUR

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in بحث:Java#)
هشدار: بسته های موجود در AUR ممکن است از ‎archlinux-java‎ پشتیبانی نکنند.

Java SE

بسته های متعددی در AUR وجود دارند که پیاده سازی متعددی از JRE و JDK مربوط به شرکت اوراکل را ارایه می دهند.اصلی ترین آنها:jreAUR, server-jreAUR و jdkAUR هستند.


Java SE 6/7

ورژن های قدیمی تر:jre6AUR/jre7AUR و jdk6AUR/jdk7AUR هستند.


Oracle JRockit

JRockit ورژن جاوایی JIT مربوط به اوراکل است که در jrockitAUR[broken link: archived in aur-mirror] موجود است.


VMkit

VMkit فریمورکی مبتنی بر LLVM است که جهت ماشین های JIT در نظر گرفته شده است.J3 خود یک نوع JVM است که بر روی VMkit در حال اجراست.به صفحه مربوطه اش مراجعه کنید:vmkit.هم چنین J3 به کتابخانه های GNU classpath وابسته است.اما هم چنان ممکن است که با کتابخانه های Apache class path کار کند.

Parrot VM

Parrot ماشین مجازی ای است که دونوع متد مختلف را پیشنهاد میدهد.support for Java.یا Java VM bytecode translatorیا Java compiler targeting the Parrot VM.بسته parrot در مخازن رسمی و در AUR موجود است:parrot-gitAUR[broken link: archived in aur-mirror]

Troubleshooting

MySQL

به این نکته توجه داشته باشید که درایورهای JDBC غالبا از پورتی در Url برای ارتباط با دیتابیس استفاده می کنند.



در حال ترجمه ...