Ant项目中如何使用ThreeTen?
How to use ThreeTen in Ant project?
我有一些遗留的 Java 6 项目,我想对它们进行一些更新,例如 Java 8 时间库。我发现这可以通过使用 ThreeTen backport 来实现。但我不知道如何将它与 Ant 构建工具一起使用。请问有什么好的参考资料或例子吗?
概览:
- 将 ThreeTen Backport JAR 文件下载到 Ant 项目的 lib 文件夹中
- 确保 lib 文件夹中的 JAR 文件在编译和 运行ning 的类路径中(这可能已经是这种情况)。
- 在您的 Java 源文件中添加来自
org.threeten.bp
的带有子包的导入,并在您的代码中使用导入的 类。
下载 JAR
在 http://www.threeten.org/threetenbp/, at the top select Releases -> Download to get to the Maven repository. In the first search result (currently threetenbp 1.3.6 from 10-Jul-2017), in the Download column click jar。将文件(在本例中为 threetenbp-1.3.6.jar)下载或移动到 Ant 项目的 lib 文件夹。或者你有外部 JAR 的地方。如果你没有这样的地方,为它创建一个名为 lib 的文件夹。
修正你的类路径
如果您之前没有以程序使用的外部 JAR 文件形式获得任何外部依赖项,您可能需要为这些准备 build.xml
文件。在我的 build.xml
我添加了
<property name="lib.dir" value="lib"/>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
这定义了 lib 文件夹的名称和稍后使用的类路径。请注意,我指定 lib
文件夹中的所有 .jar
文件及其子文件夹都在类路径中,因此将来您可以将 JAR 放入其中以将它们添加到您的项目中。然后我将类路径添加到我的编译目标和我的 运行 目标:
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
</target>
和
<target name="run" depends="jar">
<java fork="true" classname="${main-class}">
<classpath>
<path refid="classpath"/>
<path location="${jar.dir}/${ant.project.name}.jar"/>
</classpath>
</java>
</target>
我们需要修复这两个目标,因为编译和 运行ning 都需要外部 JAR is/are。
在你的 Java 程序中使用 java.time 类
这是我的程序。请注意,import
语句指的是 org.threeten.bp
.
package ovv.ant.threetenbp;
import java.util.Date;
import org.threeten.bp.Instant;
import org.threeten.bp.DateTimeUtils;
public class AntAndThreeTenBackportDemo {
public static void main(String... commandLineArguments) {
Instant once = Instant.parse("1939-11-19T16:30:00Z");
Date oldfashionedDateObject = DateTimeUtils.toDate(once);
System.out.println("As Date: " + oldfashionedDateObject);
}
}
当我从 Ant 运行(在我的计算机上 Europe/Copenhagen 时区)我得到:
run:
[java] As Date: Sun Nov 19 17:30:00 CET 1939
我用的是Ant 1.9.7,其他版本我觉得也一样
来源和进一步阅读
我用了the Ant tutorial here, in particular the Using External Libraries section.
我有一些遗留的 Java 6 项目,我想对它们进行一些更新,例如 Java 8 时间库。我发现这可以通过使用 ThreeTen backport 来实现。但我不知道如何将它与 Ant 构建工具一起使用。请问有什么好的参考资料或例子吗?
概览:
- 将 ThreeTen Backport JAR 文件下载到 Ant 项目的 lib 文件夹中
- 确保 lib 文件夹中的 JAR 文件在编译和 运行ning 的类路径中(这可能已经是这种情况)。
- 在您的 Java 源文件中添加来自
org.threeten.bp
的带有子包的导入,并在您的代码中使用导入的 类。
下载 JAR
在 http://www.threeten.org/threetenbp/, at the top select Releases -> Download to get to the Maven repository. In the first search result (currently threetenbp 1.3.6 from 10-Jul-2017), in the Download column click jar。将文件(在本例中为 threetenbp-1.3.6.jar)下载或移动到 Ant 项目的 lib 文件夹。或者你有外部 JAR 的地方。如果你没有这样的地方,为它创建一个名为 lib 的文件夹。
修正你的类路径
如果您之前没有以程序使用的外部 JAR 文件形式获得任何外部依赖项,您可能需要为这些准备 build.xml
文件。在我的 build.xml
我添加了
<property name="lib.dir" value="lib"/>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
这定义了 lib 文件夹的名称和稍后使用的类路径。请注意,我指定 lib
文件夹中的所有 .jar
文件及其子文件夹都在类路径中,因此将来您可以将 JAR 放入其中以将它们添加到您的项目中。然后我将类路径添加到我的编译目标和我的 运行 目标:
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
</target>
和
<target name="run" depends="jar">
<java fork="true" classname="${main-class}">
<classpath>
<path refid="classpath"/>
<path location="${jar.dir}/${ant.project.name}.jar"/>
</classpath>
</java>
</target>
我们需要修复这两个目标,因为编译和 运行ning 都需要外部 JAR is/are。
在你的 Java 程序中使用 java.time 类
这是我的程序。请注意,import
语句指的是 org.threeten.bp
.
package ovv.ant.threetenbp;
import java.util.Date;
import org.threeten.bp.Instant;
import org.threeten.bp.DateTimeUtils;
public class AntAndThreeTenBackportDemo {
public static void main(String... commandLineArguments) {
Instant once = Instant.parse("1939-11-19T16:30:00Z");
Date oldfashionedDateObject = DateTimeUtils.toDate(once);
System.out.println("As Date: " + oldfashionedDateObject);
}
}
当我从 Ant 运行(在我的计算机上 Europe/Copenhagen 时区)我得到:
run:
[java] As Date: Sun Nov 19 17:30:00 CET 1939
我用的是Ant 1.9.7,其他版本我觉得也一样
来源和进一步阅读
我用了the Ant tutorial here, in particular the Using External Libraries section.