PDA

View Full Version : حذف متن کدها در پرونده .jar و گنجاندن تصاویر (ide: netbeans)



mhjbarnamenevis
جمعه 21 مرداد 1401, 12:03 عصر
بسم الله الرحمن الرحیم.
سلام.������������� ����



پرسش:
در پرونده‌ی جار (.jar) که توسط نت‌بینز تولید می‌کنم می‌خواهم:
۱- عکس‌هایی که در پروژه‌ام استفاده کرده‌ام هم قرار بگیرند.
۲- متن کدها حذف بشوند. و متن برنامه‌هایی که نوشته‌ام توسط دیگران قابل دسترسی و کپی برداری نباشند.
سپاس‌گزار می‌شوم راهنمایی بفرمایید. یا علی. ���������������� �





ـــــــــــــــــــــــــ ـــــــ
توضیح:

عکس‌ها در حال حاضر در پوشه‌ای به نام pics در کنار پوشه‌ی src قرار دارند. طبق این تصویر (https://i.vgy.me/1Ki4x7.png).
شخصی در تارنمای stackOverFlow گفته بود اگر این عکس‌ها را به بخش source package folders اضافه کنی درست می‌شود. طبق این تصویر (https://i.vgy.me/5q6DXh.png). کردم نشد.

در مورد متن کد هم... شخصی در همان stackOverFlow گفته بود اگر پرونده‌های .class را (مطابق این تصویر (https://i.vgy.me/0bCncY.png)) در بخش excluded from jar file قرار دهی درست می‌شود. کردم نشد. (البته همان‌جا نوشته: cannot exclude class files ولی پس چه؟ چه کار باید کرد؟)

mhjbarnamenevis
جمعه 21 مرداد 1401, 22:11 عصر
در مورد تصویر خودم متوجه شدم:





گنجاندن تصویر در پرونده جار (https://javaeducation.blog.ir/post/%DA%AF%D9%86%D8%AC%D8%A7%D9%86%D8%AF%D9%86-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%AF%D8%B1-%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87-%D8%AC%D8%A7%D8%B1)
جمعه, ۲۱ مرداد ۱۴۰۱، ۱۰:۳۶ ب.ظ

برای این که پس از دکمه‌ی clean and build در نت‌بینز تصاویر هم درون پرونده‌ی جار (jar.) قرار گیرند:
کافی است که آن تصاویر در پوشه‌ی src باشند!
حتی می‌توانند تصاویر درون یک پوشه‌ی مجزا باشند و آن پوشه درون پوشه‌ی src باشد.
https://i.vgy.me/t19YBq.png


نشانی این تصویر هم که قرار است درون کدهایمان استفاده کنیم به این شکل می‌باشد:
"/tests/pics/"
برای نمونه:

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/tests/pics/thePicOfBaby.jpg")));

mhjbarnamenevis
جمعه 21 مرداد 1401, 22:37 عصر
در مورد عدم گنجاندن source code هم...
گویا این کار به صورت طبیعی اصلا انجام نمی‌شود. و نیازی نیست کاری انجام دهم.

ولی چرا اصلا این پرسش برای من مطرح شد؟
برای این که در نت بینز پروژه‌ای را که تبدیل به کتابخانه کرده بودم را باز کردم و تمام کدهای آن کتابخانه به آسانی در نت بینز متنش مشخص بود!
خوب این موضوع را جستجو کردم گفتند مشکلی نیست و نت‌بینز تنها به ما که در همان نرم افزار این کتابخانه را ایجاد کرده‌ایم دارد این را نشان می‌دهد.
ولی موضوع اصلی اینجا بود که این پرونده‌ی جار با پرونده‌های کلاس (class.) داخلش را دادم به اینترنت و عینا متن کدهایی را که نوشته بودم را مشاهده کردم.

احتمالا اینها هم به اصل کد دسترسی نداشته‌اند و واقعا عملیات Decompile انجام گرفته است. (چون به دقت که نگاه کردم اندکی تغییر و تفاوت با کد اصلی‌ام داشت.)
ولی افسردگی گرفتم! :گریه::لبخند::ناراحت::ناراحت: :ناراحت::افسرده:
چرا؟؟؟؟؟
چرا باید یک دیکامپایلر به این آسانی و سرعت و دقت (!!!!) متن کدهای من را بازیابی کند؟؟؟
خوب این که دیگر اصلا به درد نمی‌خورد!