gpt4 book ai didi

java - 我如何从 ant 运行这些程序

转载 作者:行者123 更新时间:2023-12-02 06:14:52 25 4
gpt4 key购买 nike

我有这个question对于批处理文件。我开始知道,我可以用 Ant 来自动化这个工作,而不是这个苦差事;这就是我听说的该工具的用途。

我想运行这两门类(class),但我有一些问题,

  • 我是否需要两个 run 任务,因为我需要一个接一个地单独运行这些程序?
  • 如果我 jar 该程序,我将如何运行它?我需要两个 dist 任务来创建单独的 jar 吗?问题是我有两个入口点?

最佳答案

这是一个快速示例 build.xml,它将构建、jar 并运行。假设您已经安装了 Ant,那么只需在基本文件夹中运行 ant,它就会完成剩下的工作。我的输出如下所示。

<project name="myproject" basedir="." default="all">

<property name="build.dir" value="${basedir}/build"/>
<property name="dist.dir" value="${basedir}/dist"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="jar.name" value="myjar.jar"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property file="${basedir}/build.properties"/>

<target name="all" depends="clean, compile, jar, run"/>

<target name="clean" description="cleans all build directories">
<delete dir="${build.dir}"/>
</target>

<target name="compile" description="compiles the project">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="on" fork="true" memoryMaximumSize="256m">
<include name="**/*.java"/>
</javac>
</target>

<target name="jar" description="Jars the files and signs the jar file">
<jar jarfile="${build.dir}/${jar.name}">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
</manifest>
<fileset dir="${classes.dir}">
<include name="**/*.*"/>
</fileset>
</jar>
</target>

<target name="run" description="runs tasks">
<echo>Running task 1</echo>
<java classname="test.Main1">
<classpath>
<pathelement location="${build.dir}/${jar.name}"/>
</classpath>
</java>
<echo>Running task 2</echo>
<java classname="test.Main2">
<classpath>
<pathelement location="${build.dir}/${jar.name}"/>
</classpath>
</java>
</target>
</project>

这是 Main1 的 src。 Main2 只是将 Main1 更改为 Main2封装测试;

public class Main1  {
public static void main(String[] args) {
System.out.println("Task 1...");
}
}

输出: c:\Customers\StackOverflow>ant 构建文件:build.xml

clean:
[delete] Deleting directory c:\Customers\StackOverflow\build

compile:
[mkdir] Created dir: c:\Customers\StackOverflow\build\classes
[javac] Compiling 2 source files to c:\Customers\StackOverflow\build\classes

jar:
[jar] Building jar: c:\Customers\StackOverflow\build\myjar.jar

run:
[echo] Running task 1
[java] Task 1...
[echo] Running task 2
[java] Task 2...

all:

BUILD SUCCESSFUL
Total time: 0 seconds

c:\Customers\StackOverflow>

关于java - 我如何从 ant 运行这些程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com