首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ant项目中使用ThreeTen?

如何在Ant项目中使用ThreeTen?
EN

Stack Overflow用户
提问于 2018-02-08 09:20:21
回答 1查看 250关注 0票数 4

我有一些遗留的Java 6项目,我想对它们进行一些更新,比如Java8TimeLibrary。我发现,通过使用ThreeTen后端,这是可能的。但我不知道如何在Ant构建工具中使用它。有什么好的参考资料或例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-09 16:48:29

概述:

  1. 将ThreeTen Backport文件下载到Ant的lib文件夹中
  2. 确保lib文件夹中的JAR文件在编译和运行的类路径上(可能已经是这种情况)。
  3. 在Java源文件中,添加带有子包的org.threeten.bp导入,并在代码中使用导入的类。

下载JAR

http://www.threeten.org/threetenbp/上,在顶部选择Releases下载以访问Maven存储库。在第一个搜索结果(目前为三个基点1.3.6从10-2017)中,在下载栏中单击罐子。下载该文件(在本例中为trietenbp-1.3.6.jar),或将其移动到Ant项目的lib文件夹。或者你的外部罐子在哪里。如果您没有这样的位置,那么为它创建一个名为lib的文件夹。

修复你的类路径

如果您以前没有以程序使用的外部JAR文件的形式获得任何外部依赖关系,则可能需要为此准备您的build.xml文件。在我的build.xml中,我添加了

代码语言:javascript
复制
<property name="lib.dir"     value="lib"/>

<path id="classpath">
    <fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>

这定义了lib文件夹和类路径的名称,以供以后使用。请注意,我指定带有子文件夹的lib文件夹中的所有lib文件都在类路径上,因此将来您只需将JAR放入其中以将它们添加到项目中。然后,我将类路径添加到编译目标和运行目标中:

代码语言:javascript
复制
<target name="compile">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
</target>

代码语言:javascript
复制
<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>

我们需要修复这两个目标,因为编译和运行都需要外部JAR/s。

在Java程序中使用java.time类

这是我的节目。注意,import语句引用了org.threeten.bp

代码语言:javascript
复制
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 (在欧洲/哥本哈根时区的计算机上)跑时,我得到:

代码语言:javascript
复制
run:
     [java] As Date: Sun Nov 19 17:30:00 CET 1939

我使用了Ant 1.9.7,但我认为在其他版本中也是如此。

资料来源和进一步阅读

我使用了这里的Ant教程,特别是部分

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48681786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档