مطالبی در مورد جاوا

مطالبی در مورد جاوا
بسم الله الرحمن الرحیم

fat JAR

جمعه, ۲۱ مرداد ۱۴۰۱، ۱۰:۳۰ ب.ظ

An uber-JAR—also known as a fat JAR or JAR with dependencies—is a JAR file that contains not only a Java program, but embeds its dependencies as well. This means that the JAR functions as an “all-in-one” distribution of the software, without needing any other Java code

 

یک پرونده‌ی جار که حاوی تمام وابستگی‌ها و کتابخانه‌هایی که در آن استفاده شده است باشد را می‌گویند fat jar. خیلی خوب است که زمانی که می‌خواهیم برای کسی یا جایی پروژه‌مان را بدهیم این‌گونه بدهیم که دیگر نه نیاز به دادن پوشه‌های متعدد باشد و نه نیاز به دانلود و نه نیاز به تنظیمات اضافه و ...

 

روش انجام:

این ابزارها گویا این کار را انجام می‌دهند: Eclipse JAR File Exporter, One-JAR. Maven Shade Plugin Maven Assembly Plugin, Classworlds Uberjar

ولی چیزی که ما می‌خواهیم با نت بینز است. یعنی این:

 

1) Click on Files tab on the left side of the project panel in NetBeans.

2) Double click on the build.xml file and add these lines in it just before </project> line

 

 <target name="package-for-store" depends="jar">
    <property name="store.jar.name" value="myProject"/>
    <property name="store.dir" value="store"/>
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
    <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
    <delete dir="${store.dir}"/>
    <mkdir dir="${store.dir}"/>
    <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
        <zipgroupfileset dir="dist" includes="*.jar"/>
        <zipgroupfileset dir="dist/lib" includes="*.jar"/>
        <manifest>
            <attribute name="Main-Class" value="${main.class}"/>
        </manifest>
    </jar>
    <zip destfile="${store.jar}">
        <zipfileset src="${store.dir}/temp_final.jar"
        excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
    </zip>
    <delete file="${store.dir}/temp_final.jar"/>
</target>

3) Change value in second line of the code as per your project name which is

<property name="store.jar.name" value="myProject"/> //<---Just value not name

4) Save it and right click on build.xml and choose Run Target and then Other Targets and finally click on Package-for-store

5) And here you done. Now you can go and check just like dist folder there will be a store folder which will be containing your final complete jar including all of your dependent libraries. Now whenever you want to change / add more libraries or so, just follow step 4.

 

اگر انگلیسی بلد نیستید:

۱- پرونده‌ی build.xml را در پنجره‌ی Files پیدا کنید و ویرایشش کنید. پیش از خط آخرش آن کدی که ارائه شده را قرار دهید. و سپس پرونده را ذخیره کنید.

۲- از این به بعد هرگاه طبق تصویر گزینه‌ی package-for-store را بزنید در یک پوشه به نام store (در کنار پوشه dist , src) یک پرونده‌ی فت‌جار قرار گرفته! همین.

موافقین ۱ مخالفین ۰ ۰۱/۰۵/۲۱

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی