我正在嘗試爲其GUI使用SWT的程序製作跨平臺.jar。我偶然發現了this和this,並試圖在我自己的程序中使用它。我對ant腳本並不是非常有經驗,而且這個程序在其構建路徑中有很多其他的.jars,因此我使用eclipse生成了一個ant構建腳本,我修改了它以包含swtjar任務。但是,當腳本運行並獲得swtjar任務時,它會失敗,並說The archive swtjar.jar doesn't exist
。我也嘗試過提前創建一個合法的構建文件,並且也出現了這個錯誤。有什麼我失蹤?我在構建路徑中包含了swtjar.jar,並在腳本的頂部包含了taskdef。無法使用swtjar製作ant腳本
這裏的腳本:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project kEllyIRClient">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required-->
<taskdef name="swtjar" classname="org.swtjar.ant.SWTJarTask"
classpath="./libs/swtjar.jar"/>
<target name="create_run_jar">
<!--make the release directory if it doesn't exist-->
<mkdir dir="./release/"/>
<!--Create a temporary jar file with all the dependencies (i.e. the libs folder)-->
<jar jarfile="./release/externalLibsTemp.jar">
<zipgroupfileset dir="./libs/">
<exclude name="swt/*swt*.jar"/>
<exclude name="swtjar.jar"/>
<include name="**/*.jar"/>
</zipgroupfileset>
</jar>
<!--package with swt-->
<swtjar jarfile="./release/KEllyIRC.jar" targetmainclass="shared.Initializer" swtversion="3.7.1">
<fileset dir="./bin"/>
<!--Add the dependencies jar to the jar, but exclude the meta-inf/manifest stuff
cause that screws stuff up.-->
<zipfileset excludes="META-INF/*.SF" src="./release/externalLibsTemp.jar" />
<fileset dir="./libs/swt/" includes="swt-win32-3.7.1.jar"/>
</swtjar>
<!--Delete temporary file-->
<delete file="./release/externalLibsTemp.jar"/>
</target>
這是錯誤:
D:\My Dropbox\Java\kEllyIRClient\swtjar-buildV2.xml:24: The archive swtjar.jar doesn't exist
請粘貼您修改的構建腳本的代碼以包含swtjar – Ved 2012-02-02 05:31:55
請粘貼當您嘗試運行此目標時獲得的輸出 – mchr 2012-02-03 15:14:46
請在此錯誤之前發佈輸出行。例如,我自己的一個項目產生了以下幾行輸出:[swtjar] \ Users \ username \ Documents \ Workspaces \ Github \ InTrace \ org.intrace \ lib \ swtjar.jar [swtjar]構建jar:C:\ Users \ username \ Documents \ Workspaces \ Github \ InTrace \ org.intrace \ build \ jars \ i ntrace-ui.jar。 – mchr 2012-02-05 22:21:25