使用ANT编译和打包scala程序

首先系统中需要指定SCALA_HOME的环境变量

下面是build.xml文件

<?xml version="1.0" encoding="utf-8"?> 

<project name="HelloWorld" default="jar">

<!-- global properties -->
        <property name="scala.home" value="/data1/local/scala-2.10.3" />
        <property name="scala.library" value="${scala.home}/lib/scala-library.jar" />
        <property name="src.dir" value="src" />
        <property name="build.dir" value="bin/classes"/>
        <property name="lib" value="lib"/>
        <property name="jarname" value="jar/MLlibCF.jar"/>
        <property name="mainclass" value="src.spark.MLlibCF.MLlibCF"/>

<!-- class path settings -->
<path id="build.classpath">
    <fileset dir="${lib}">
        <include name="*.jar"/>
    </fileset>
    <pathelement location="${build.dir}" />
    <pathelement location="${scala.library}" />
</path>



<!-- define scalac, fsc, sbaz ... tasks -->
<target name="scala.tasks">
    <taskdef resource="scala/tools/ant/antlib.xml">
            <classpath>
            <pathelement location="${scala.home}/lib/scala-reflect.jar"   />
            <pathelement location="${scala.home}/lib/scala-compiler.jar" />
            <pathelement location="${scala.library}" />
            </classpath>
    </taskdef>
</target>

<target name="compile" depends="scala.tasks">
      <mkdir dir="${build.dir}"/>
      <fsc srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath">
        <include name="**/*.scala" />
      </fsc>
</target>

        <!--jar-->
    <target name="build" depends="compile" description="make jar file">

        <pathconvert property="libs" pathsep=" ">
                <mapper>
                <chainedmapper>                               
                <!-- jar包文件只留文件名,去掉目录信息 -->

                  <flattenmapper/>

                  <!-- add lib/ prefix -->

                 <globmapper from="*" to="../lib/*"/>

                </chainedmapper>
                </mapper>
            <path refid="build.classpath"/>            
       </pathconvert>



        <jar destfile="${jarname}" basedir="${build.jar}">
          <manifest>
               <attribute name="Main-class" value="${mainclass}"/>
               <attribute name="Class-Path" value="${libs}"/>
          </manifest>
        </jar>
    </target>

</project>

将项目中需要编译的类准备好,就可以编译并打好包了

转载于:https://my.oschina.net/ssrs2202/blog/493879

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值