سؤال

ما هي أفضل طريقة لعرض/استخدام رقم المراجعة في تطبيق ويب جافا؟

نحن نستخدم ant فقط لبناء أرشيف الحرب الخاص بنا، ولا يوجد خادم بناء أو ما شابه.أتمنى أن يكون هناك نوع ما إذا كان $ref يمكنني كتابته في ملف مورد، ولكن يتم تحديث هذا فقط عندما يتم الالتزام بالملف المعني.أنا في حاجة إليها على مستوى العالم.

ماذا تنصح؟مشغلات ما بعد الالتزام التي تقوم بتحديث ملفات معينة؟مخطوطات النمل مخصصة؟هل هناك طريقة غير اختراقية للقيام بذلك؟أو من الأفضل أن يكون لدي رقم الإصدار الخاص بي بشكل مستقل عن svn.

يحرر:اقتراحات عظيمة!شكرا جزيلا للإجابات!

هل كانت مفيدة؟

المحلول

هناك بعض مهام Ant التي يمكنها القيام بذلك نيابةً عنك.

مهمة SvnAnt من دجلة هو الأقدم.

التوثيق هو هنا - على وجه الخصوص نلقي نظرة على info العنصر الذي يكشف رقم مراجعة مستودع التخريب كخاصية Ant التي يستدعيها rev.يمكنك كتابة هذه القيمة في ملف الموارد الخاص بك باستخدام آليات استبدال Ant العادية.

وقد طرح شخص ما أيضا مهمة مماثلة (أبسط). على استضافة Google Code - لم أستخدمها مطلقًا على الرغم من أنه لا يمكنني التعليق.

يبدو أن أيًا من هاتين الطريقتين هي الطريقة الأفضل بالنسبة لي إذا كان لديك Ant بالفعل في جهازك.

نصائح أخرى

ونحن نستخدم هذه المهمة النمل التالية لتشمل نسخة إس في سمة في جرة، جنبا إلى جنب مع إصدار حزم الأخرى التي يتم استخدامها

<target name="package" depends="compile" description="Package up the project as a jar">
<!-- Create the subversion version string -->
<exec executable="svnversion" failifexecutionfails="no" outputproperty="version">
  <arg value="."/> 
  <arg value="-n"/>
</exec>
<!-- Create the time stamp -->
<tstamp>
  <format property="timeAndDate" pattern="HH:mm d-MMMM-yyyy"/>
</tstamp>

<jar destfile="simfraserv.jar">
  <manifest>
    <attribute name="Built-By"                value="${user.name} on ${time.date}" />
    <attribute name="Implementation-Version"  value="${svn.version}" />
    <attribute name="Implementation-Java"     value="${java.vendor} ${java.version}" />
    <attribute name="Implementation-Build-OS" value="${os.name} ${os.arch} ${os.version}" />
    <attribute name="JVM-Version"             value="${common.sourcelevel}+" />        
  </manifest>
  <fileset dir="bin">
    <include name="**/*.class"/>
  </fileset>
  <fileset dir="src">
    <include name="**"/>
  </fileset>
</jar>
</target>

وبعد ذلك يمكنك الوصول إليه في تطبيق الويب الخاص بك، مثل هذا

String version = this.getClass().getPackage().getImplementationVersion();

إذا كنت تستخدم النملة يمكنك تحديد هذه المهمة:

 <target name="version">
<exec executable="svn" output="svninfo.xml" failonerror="true">
  <arg line="info --xml" />
</exec>
<xmlproperty file="svninfo.xml" collapseattributes="true" />
<echo message="SVN Revision: ${info.entry.commit.revision}"/>
<property name="revision" value="${info.entry.commit.revision}" />
</target>

وولك قيمة مراجعة حيث تريد.

هذا الموضوع .

والمفضلة من أن موضوع هو مجرد إلقاء $Id:$ في التعليمات البرمجية حيث تريد ID المراجعة. سوف SVN ملء ذلك مع البيانات الحقيقية عند القيام التصدير.

إذا كنت تستخدم ويندوز هل يمكن أن ننظر في SubWCRev.exe الذي يأتي مع السلحفاة.

وانه يعطي مراجعة مستودع الحالي وستحل محل $ WCREV $ مع وقال، هل يمكن أن تشمل هذه في web.xml الخاص بك كما يقول المعلمة السياق ومن ثم الحصول عليها من هناك.

وقبل أن يتم تعبئتها في تطبيق الويب، تشغيل المعلومات إس وإعادة توجيه الإخراج إلى بعض الملفات في WEB-INF / فصول. عندما يبدأ تطبيق الويب تصل، تحليل هذا الملف، وأنها مخبأة بعيدا في سياق بريمج أو في مكان مماثل. في تذييل كل صفحة، عرض هذا الإصدار - إذا كنت تستخدم شيئا مثل البلاط أو SiteMesh، يحتاج هذا التغيير أن يتم إلا في ملف واحد

.

ويمكن للمستخدمين مخضرم يحاول البرنامج المساعد مخضرم-buildnumber.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top