Régóta foglalkoztat, hogyan lehet időbélyeget adni automatikusan egy lefordított java programhoz. Ugyanez a probléma akkor is, ha a build sorszámát szeretném használni.
Megoldás:
A NETBEANS esetén a project gyökérkönyvtárában van a build.xml fájl. Ezt lehet az alábbi módon módosítani:
<target name="-pre-compile"> <tstamp prefix="build"> <format property="BUILD_TIMESTAMP" pattern="yyyy.MM.dd HH:mm" /> </tstamp> <propertyfile file="source/version.properties"> <entry key="app.version" value=" ${build.BUILD_TIMESTAMP}" /> <entry key="BUILD" value="1" type="int" operation="+"/> </propertyfile> </target>
Ez fogja meghatározni azt, hogy a source könyvtárban lévő version.properties fájlba milyen bejegyzések kerüljenek egy fordítás előtt. A version.properties fájlt létre kell hozni és a BUILD kulcsszóhoz 1-et írni.
BUILD=1 app.version=\ 2011.11.13 02\:09
A JAVA alkalmazásban pedig egy ilyen osztállyal lehet kezelni és a metódusokat meghívva megjeleníteni a verzió értékeket:
import java.util.*; public class Version { public final static ResourceBundle rb = ResourceBundle.getBundle("version"); public String getVersion(){ String msg; try { msg = rb.getString("app.version")+" "+ rb.getString("BUILD")+" "; }catch(MissingResourceException e){ msg = ""; } return msg; }; public String getAuthor(){ return "(c) Fabian Zoltan, X-Computer"; } public String getName(){ return "DataGrid Component"; } }