ant在java项目中使用

ant 执行mvn 依赖

	<target name="copy-libs">
		<exec executable="mvn.cmd">
			<arg value="dependency:copy-dependencies" />
			<arg value="-DoutputDirectory=libs" />
			<arg value="-DexcludeGroupIds=org.projectlombok" />
			<arg value="-DexcludeArtifactIds=org.projectlombok:lombok" />

			<arg value="-DoverWriteReleases=false" />
			<arg value="-DoverWriteSnapshots=false" />
			<arg value="-DoverWriteIfNewer=true" />
			<arg value="-Dmdep.stripVersion=true" />
			<arg value="-Dmdep.stripSnapshotVersion=true" />
		</exec>
	</target>

调用其他ant文件target

	<target name="compile">
		<ant antfile="buildjava.xml" target="jar" />
	</target>

编译java

可独立创建一个xml文件,使用ant调用

	<!-- 一般Jar包的依赖 -->
	<path id="common.lib.path">
		<fileset dir="libs" erroronmissingdir="false">
			<include name="*.jar" />
		</fileset>
	</path>
	<property name="classpath" refid="common.lib.path" />
	<property name="build.dir" location="dist" />
	<property name="build.classes" location="${build.dir}/classes" />
	<property name="execute.class" location="com.sonn.core.utils.vxUtil" />
	<property name="jar.name" value="TestUtils.jar"></property>
	<property environment="env" />

	<target name="test">
		<echo>我是java 编译的ant</echo>
	</target>
	<target name="info">
		<echo>${ant.home}</echo>
		<echo>${ant.version}</echo>
		<echo>${ant.java.version}</echo>
		<echo>${env.catalina_home}</echo>
		<echo>${env.java_home}</echo>
		<echo>${env.OS}</echo>
	</target>
	<target name="clean">
		<delete dir="${build.dir}">
		</delete>
	</target>
	<target name="init" depends="clean">
		<mkdir dir="${build.dir}" />
		<mkdir dir="${build.classes}" />
	</target>
	<!-- 如果目标文件存在,则不执行 -->
	<target name="copySrc" depends="init">
		<copy todir="${build.dir}/libs/">
			<fileset dir="libs">
			</fileset>
		</copy>
	</target>

	<!--编译源文件 -->
	<target name="compile" depends="copySrc">
		<javac destdir="${build.classes}" srcdir="src/main/java" classpath="${classpath}" includeantruntime="false" source="17" target="17" >
		</javac>
	</target>

	<!--打jar包;为了让jar可运行,需要加入MANIFEST.MF文件中加入Main-Class -->
	<target name="jar" depends="compile">
		<jar destfile="${build.dir}/${jar.name}" basedir="${build.classes}">
			<manifest>
				<attribute name="Main-Class" value="${execute.class}" />
				<attribute name="Build-By" value="Sid" />
			</manifest>
		</jar>
	</target>

编译解压依赖jar,打包到一个jar包中

	<target name="unjarLib" depends="compile" description="解压第三方jar包,以便于重新打包入程序jar包中">
		<unjar dest="${build.classes}">
			<fileset dir="${lib.dir}">
				<include name="**/*.jar" />
			</fileset>
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unjar>
	</target>

ant 执行 protobuf生成

	<target name="protoc">
		<exec executable="proto/protoc.exe">
			<arg line="--java_out ./out ./data/Test.proto" />
		</exec>
	</target>

ant 使用web3就生成区块链abi协议

	<target name="abi">
		<exec executable="java">
			<arg value="-cp" />
			<arg value="libs/*" />
			<arg value="org.web3j.codegen.SolidityFunctionWrapperGenerator" />
			<arg value="-a" />
			<arg value="LevelContract.abi" />
			<arg value="-o" />
			<arg value="D://bbb" />
			<arg value="-p" />
			<arg value="com.newticee.dc.common" />
		</exec>
	</target>

ant 调用smart-doc

	<target name="doc">
		<exec executable="mvn.cmd">
			<arg value="smart-doc:markdown" />
		</exec>
	</target>

	<target name="docTorna">
		<exec executable="mvn.cmd">
			<arg value="smart-doc:torna-rest" />
		</exec>
	</target>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值