﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-大道自然-随笔分类-项目管理</title><link>http://www.blogjava.net/iamlibo/category/33098.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 08 Feb 2010 12:03:14 GMT</lastBuildDate><pubDate>Mon, 08 Feb 2010 12:03:14 GMT</pubDate><ttl>60</ttl><item><title>新年献礼_永久试用jira 4.0.1 </title><link>http://www.blogjava.net/iamlibo/archive/2010/02/08/312291.html</link><dc:creator>Libo</dc:creator><author>Libo</author><pubDate>Mon, 08 Feb 2010 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/iamlibo/archive/2010/02/08/312291.html</guid><wfw:comment>http://www.blogjava.net/iamlibo/comments/312291.html</wfw:comment><comments>http://www.blogjava.net/iamlibo/archive/2010/02/08/312291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/iamlibo/comments/commentRss/312291.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/iamlibo/services/trackbacks/312291.html</trackback:ping><description><![CDATA[<div>
<p><span style="font-family: 宋体; font-size: 18pt;">永久试用</span><span style="font-size: 18pt;">jira</span><span style="font-size: 18pt;"> 4.0.1 </span></p>
<h2><span style="font-family: '微软雅黑','sans-serif'; font-size: 14pt;">现在最新版的jira是4.0.1 可以在官网上下载并申请试用license，
在正常安装并申请试用后，将在30天后过期。将<span>atlassian-extras-2.2.2.jar
</span>解开，反编译com.atlassian.extras.core.DefaultProductLicense.class这个类，将getExpiryDate() 和 getExpiryDate(LicenseProperties properties)两
个方法改下面代码就可以永远的试用jira了。</span></h2>
<p style="text-align: left;" align="left"><strong><span style="font-family: 'courier new'; color: #7f0055; font-size: 10pt;">public</span></strong><span style="font-family: 'courier new'; color: black; font-size: 10pt;"> Date <span style="background: none repeat scroll 0% 0% silver;">getExpiryDate</span>() {</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 'courier new'; color: #3f7f5f; font-size: 10pt;">// return expiryDate == null ?null : new Date(expiryDate.getTime());</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar c =Calendar.<em>getInstance</em>();</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.set(Calendar.<em><span style="color: #0000c0;">YEAR</span></em></span>,
c.get(Calendar.<em><span style="color: #0000c0;">YEAR</span></em>)+1);</p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong><span style="font-family: 'courier new'; color: #7f0055; font-size: 10pt;">return</span></strong><span style="font-family: 'courier new'; color: black; font-size: 10pt;">c.getTime();</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp; }</span></p>
<p style="text-align: left;" align="left"><strong><span style="font-family: 'courier new'; color: #7f0055; font-size: 10pt;">private</span></strong><span style="font-family: 'courier new'; color: black; font-size: 10pt;"> Date getExpiryDate(LicenseProperties properties) {</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String expiryDateString
= properties.getProperty(</span><span style="font-family: 'courier new'; color: #2a00ff; font-size: 10pt;">"LicenseExpiryDate"</span><span style="font-family: 'courier new'; color: black; font-size: 10pt;">,</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 'courier new'; color: #2a00ff; font-size: 10pt;">"1970-01-01"</span><span style="font-family: 'courier new'; color: black; font-size: 10pt;">);</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><em><span style="font-family: 'courier new'; color: #0000c0; font-size: 10pt;">log</span></em><span style="font-family: 'courier new'; color: black; font-size: 10pt;">.debug</span><span style="font-family: 'courier new'; color: black; font-size: 10pt;">(</span><span style="font-family: 'courier new'; color: black; font-size: 10pt;">(</span><strong><span style="font-family: 'courier new'; color: #7f0055; font-size: 10pt;">new</span></strong>StringBuilder()).append(<span style="font-family: 'courier new'; color: #2a00ff; font-size: 10pt;">"Expiry date is &lt;"</span><span style="font-family: 'courier new'; color: black; font-size: 10pt;">).append(</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expiryDateString).append(</span>"&gt;"<span style="font-family: 'courier new'; color: black; font-size: 10pt;">).toString());</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: #3f7f5f; font-size: 10pt;">//&nbsp;&nbsp;&nbsp;&nbsp; return DateEditor.getDate(expiryDateString);</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar c =Calendar.<em>getInstance</em>();</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.set(Calendar.<em><span style="color: #0000c0;">YEAR</span></em></span>,
c.get(Calendar.<em><span style="color: #0000c0;">YEAR</span></em>)+1);</p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><strong><span style="font-family: 'courier new'; color: #7f0055; font-size: 10pt;">return</span></strong><span style="font-family: 'courier new'; color: black; font-size: 10pt;">c.getTime();</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 'courier new'; color: black; font-size: 10pt;">&nbsp;&nbsp;&nbsp; }</span></p>
<h2><span style="font-family: '微软雅黑','sans-serif'; font-size: 14pt;">然后将这个类再重新打包到atlassian-extras-2.2.2.jar就可以永远是还有11个月20几天的试用期了。</span></h2>
<h2><br />
</h2>
本方法只做个人学习与研究使用，不得做为商业用途，请支持正版软件!<br />
<br />
</div>
<img src ="http://www.blogjava.net/iamlibo/aggbug/312291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/iamlibo/" target="_blank">Libo</a> 2010-02-08 10:08 <a href="http://www.blogjava.net/iamlibo/archive/2010/02/08/312291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>