tag:blogger.com,1999:blog-59465307047421309702024-03-06T16:20:07.273+08:00Jax 的工作紀錄除了在整理學習上的經驗,同時也能幫助其他需要的人Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-5946530704742130970.post-43909466944523068672015-03-13T13:12:00.002+08:002015-03-13T14:40:27.893+08:00[Java] Ant zip 解壓縮筆記<pre class="xml:nogutter:nocontrols" name="code"><unzip dest="./target_dir">
<!-- 來源的壓縮檔 -->
<fileset dir="lib">
<include name="tiles-jsp-*.jar"/>
</fileset>
<!-- 要解出的檔案 -->
<patternset>
<include name="**/*.tld"/>
</patternset>
<!-- 解出路徑的轉換 -->
<mapper type="flatten"/>
</unzip>
</pre><br />
參考文件:<br />
<a href="https://ant.apache.org/manual/Tasks/unzip.html" target="_blank">Apache Ant™ User Manual : Unzip Task</a><br />
<a href="https://ant.apache.org/manual/Types/mapper.html" target="_blank">Apache Ant™ User Manual : Mapper</a><br />
Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0tag:blogger.com,1999:blog-5946530704742130970.post-83562896176827714762015-02-27T22:27:00.000+08:002015-02-27T22:30:44.895+08:00在 Eclipse 為 Tomcat Library 增加原始碼附件在專案目錄下選擇 [<b>Java Resources</b>]->[<b>Libraries</b>]->[<b>Apache Tomcat</b>]->[<b>xxx.jar</b>]->[<b>右鍵內容</b>] <br />
<a href="http://2.bp.blogspot.com/-EM_eGlwsuOg/VPB90M5_6nI/AAAAAAAANqM/qcLagu72LnY/s1600/tomcat_library_1.png"><img src="http://2.bp.blogspot.com/-EM_eGlwsuOg/VPB90M5_6nI/AAAAAAAANqM/qcLagu72LnY/s512/tomcat_library_1.png" /></a><br />
<br />
在 <b>Java 程式碼附件</b> 就可以連接程式原始碼<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_H10Vc_10KZG44KDm0J5u31bnG2vbWUYbdTa3Y9iolMQlkrjYf7u-hQ79fPrjFliXdaIwupIPYO3D05yzPm_2u1wubXkZAUlEjXItJzXMxHvqb7r8C7rqlD5to-o2VOvzj4LWJ3uZpjd/s1600/tomcat_library_2.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_H10Vc_10KZG44KDm0J5u31bnG2vbWUYbdTa3Y9iolMQlkrjYf7u-hQ79fPrjFliXdaIwupIPYO3D05yzPm_2u1wubXkZAUlEjXItJzXMxHvqb7r8C7rqlD5to-o2VOvzj4LWJ3uZpjd/s512/tomcat_library_2.png" /></a><br />
<br />
在 <b>Javadoc 位置</b> 則可以連接 Javadoc<br />
<a href="http://4.bp.blogspot.com/-dalyKC0r_xY/VPB90I8dkRI/AAAAAAAANqU/S3MYsO1jKqs/s1600/tomcat_library_3.png"><img src="http://4.bp.blogspot.com/-dalyKC0r_xY/VPB90I8dkRI/AAAAAAAANqU/S3MYsO1jKqs/s512/tomcat_library_3.png" /></a><br />
<br />
<br />
其實剛剛的設定都記錄在:<br />
<code>{WorkSpace}/.metadata/.plugins/org.eclipse.jst.server.core/<br />
org.eclipse.jst.server.tomcat.runtimeTarget.xml</code><br />
<br />
內容如下:<br />
<pre class="xml:nogutter:nocontrols" name="code"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<classpath>
<source-attachment entry="D:/apache-tomcat-7.0.53/lib/commons-io-2.4.jar" runtime-id="Apache Tomcat v7.0" source-attachment-path="D:/apache-tomcat-7.0.53/src/commons-io-2.4-sources.jar">
<attribute name="javadoc_location" value="jar:file:/D:/apache-tomcat-7.0.53/src/commons-io-2.4-javadoc.jar!/"/>
</source-attachment>
<source-attachment entry="D:/apache-tomcat-7.0.53/lib/commons-logging-1.1.3.jar" runtime-id="Apache Tomcat v7.0" source-attachment-path="D:/apache-tomcat-7.0.53/src/commons-logging-1.1.3-sources.jar">
<attribute name="javadoc_location" value="jar:file:/D:/apache-tomcat-7.0.53/src/commons-logging-1.1.3-javadoc.jar!/"/>
</source-attachment>
</classpath>
</pre><br />
<br />
所以只要編寫 org.eclipse.jst.server.tomcat.runtimeTarget.xml 的內容,重新啟動 Eclipse 就會連結原始碼附件,當然這麼麻煩的事還是寫程式自動處理比較快樂,既然是用 Eclipse 寫 Java 當然是用 Ant 來處理是最好的。<br />
<br />
首先幾個環境定義:<br />
<ul><li><b>Server Src 路徑</b>:D:/apache-tomcat-7.0.53/src</li>
<li><b>Server Lib 路徑</b>:D:/apache-tomcat-7.0.53/lib</li>
<li><b>Runtime Id</b>:Apache Tomcat v7.0</li>
<li><b>Jar 名稱</b>:xxxxx.jar</li>
<li><b>Source 名稱</b>:xxxxx-sources.jar</li>
<li><b>Javadoc 名稱</b>:xxxxx-javadoc.jar</li>
</ul><br />
<br />
<strong>tomcat-xml-build.xml</strong><br />
<pre class="xml:nogutter:nocontrols" name="code"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE project>
<project name="tomcat-xml-build" default="deploy-output-xml" basedir=".">
<!-- 載入額外 ant-contrib 定義 [if,not,or,then,equals] -->
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<property name="tomcat.id" value="Apache Tomcat v7.0" />
<property name="tomcat.home" value="D:/apache-tomcat-7.0.53" />
<property name="output.file" value="org.eclipse.jst.server.tomcat.runtimeTarget.xml" />
<basename property="ant.filename" file="${ant.file}" />
<path id="tomcat.lib">
<fileset dir="${tomcat.home}/lib" includes="*.jar" />
</path>
<target name="build-xml">
<echo>====================================================================</echo>
<echo>開始建立 ${output.file}</echo>
<echo file="${output.file}"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<classpath>
<!-- Code Generate from "${ant.filename}" --></echo>
<foreach target="loop-jar-file" param="jar-file">
<path refid="tomcat.lib"/>
</foreach>
<echo file="${output.file}" append="true">
</classpath></echo>
<echo>====================================================================</echo>
<echo>完成產生 ${output.file}</echo>
</target>
<target name="loop-jar-file" if="jar-file">
<echo level="info">${jar-file}</echo>
<basename property="jar-name" file="${jar-file}" suffix=".jar"/>
<if>
<or>
<available file="${tomcat.home}/src/${jar-name}-sources.jar"/>
<available file="${tomcat.home}/src/${jar-name}-javadoc.jar"/>
</or>
<then>
<echo>輸出 ${jar-name}</echo>
<echo file="${output.file}" append="true">
<source-attachment entry="${tomcat.home}/lib/${jar-name}.jar" runtime-id="${tomcat.id}" source-attachment-path="${tomcat.home}/src/${jar-name}-sources.jar">
<attribute name="javadoc_location" value="jar:file://${tomcat.home}/src/${jar-name}-javadoc.jar!/"/>
</source-attachment></echo>
</then>
</if>
</target>
<target name="deploy-output-xml" depends="build-xml">
<echo>====================================================================</echo>
<echo>部署 ${output.file} 到 .metadata</echo>
<eclipse.convertPath resourcepath="workspace_loc:/" property="workspace_loc"/>
<copy file="${output.file}" todir="${workspace_loc}/.metadata/.plugins/org.eclipse.jst.server.core" />
</target>
<target name="show-properties">
<echoproperties />
</target>
</project>
</pre><br />
<br />
執行前需要 ant-contrib,然後啟動配置必須是[在工作區的同一個 JRE 中執行],這是因為用到 Eclipse Ant 所以提供的環境變數,執行完後重新啟動 Eclipse 就可以看到連結的附件。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoyaj6r7EtG1F7zJdRjnipe5qFcxF-3BNOhvxRA_urm-CB4YaNkvf1LeeopQ4tmIaZD0wTEAUX9fv4Z6atH4nt_9_S6p5TdVd0GXMrJKQpP8tqqTmtC3_Dwa_GCUveCRAU8GFiRpfyRFiv/s1600/tomcat_library_4.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoyaj6r7EtG1F7zJdRjnipe5qFcxF-3BNOhvxRA_urm-CB4YaNkvf1LeeopQ4tmIaZD0wTEAUX9fv4Z6atH4nt_9_S6p5TdVd0GXMrJKQpP8tqqTmtC3_Dwa_GCUveCRAU8GFiRpfyRFiv/s512/tomcat_library_4.png" /></a><br />
Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0tag:blogger.com,1999:blog-5946530704742130970.post-66371988541637733842015-02-27T19:57:00.002+08:002015-02-27T19:57:52.900+08:00在 Eclipse 安裝 ant-contrib先下載 <a href="http://sourceforge.net/projects/ant-contrib/files/" target="_blank">ant-contrib</a>,然後放置到<br />
<code>{eclipse_home}/plugins/org.apache.ant_XXXXXXX/lib</code><br />
<br />
接者在 [<b>視窗</b>]->[<b>喜好設定</b>]->[<b>Ant 執行時期</b>]->[<b>類別路徑</b>]->[<b>Ant 起始目錄項目</b>]->[<b>新增外部 JAR</b>]->[<b>選擇 ant-contrib.jar</b>] <br />
<a href="http://3.bp.blogspot.com/-39_RQ_0CjWI/VPBbbguoURI/AAAAAAAANp8/1KZsxrF7KVU/s1600/eclipse_ant-contrib.png"><img src="http://3.bp.blogspot.com/-39_RQ_0CjWI/VPBbbguoURI/AAAAAAAANp8/1KZsxrF7KVU/s550/eclipse_ant-contrib.png" /></a><br />
<br />
然後在要使用 ant-contrib 的 build.xml 中加入以下宣告:<br />
<pre class="xml:nogutter:nocontrols" name="code"><taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
</pre>Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0