我想用ant完全编译。但有一个问题。我的不适用。 我通过实验意识到jar文件中存在一个问题:如果我使用eclipse ide导出jar,则其工作正常。但是,如果我用蚂蚁编译jar它不起作用。两个jar文件看起来非常相似,我找不到区别。 JDK verion 1.7.0(更新40) 这是我的蚂蚁片段:
<property name="FLEX_HOME" value="C:/Program Files (x86)/FlexSDK/4.11.0/"/>
<property name="fre.lib" value="${FLEX_HOME}/lib/android/FlashRuntimeExtensions.jar" />
<property name="android.lib" value="C:/Program Files (x86)/Android SDK/sdk/platforms/android-10/android.jar" />
<target name="compile.classes" description="Compile java classes">
<javac destdir="temp/java_classes" classpath="${fre.lib}:${android.lib}" fork="true">
<src path="${java.classes}"/>
</javac>
</target>
<target name="compile.jar" description="Make jar lib">
<jar destfile="temp/libs/lib.jar">
<fileset dir="temp/java_classes">
<include name="**/*.class"/>
</fileset>
</jar>
</target>
如何正确编译jar lib?也许我丢失了java comliler参数?
答案 0 :(得分:0)
我找到了解决方案。 我正在用jdk 7进行编译。但是这个版本没有用。 需要安装jkd 6并添加一些编译器属性:
<property name="java_rt.lib" value="C:/Program Files (x86)/Java/jdk1.6.0_45/jre/lib/rt.jar" />
<target name="compile.jar" description="Making jar lib">
<javac
failonerror="true"
destdir="temp/java_classes"
classpath="${fre.lib}:${android.lib}"
source="1.6" target="1.6"
includeantruntime="false"
bootclasspath="${java_rt.lib}">
<src path="${java.classes}"/>
</javac>
<jar basedir="temp/java_classes" destfile="temp/ane/android/commExtLib.jar"/>
</target>