Java 如何使用natty master?

Java 如何使用natty master?,java,android,nlp,natty,Java,Android,Nlp,Natty,我应该在我的android项目中使用natty master。但我无法导入它。没有maven我怎么能用natty?我找到了这些代码,我添加了JAR,但它不起作用 import java.util.Date; import java.util.List; import java.util.Map; import com.joestelmach.natty.*; public class natty { public static void main(String[] args) {

我应该在我的android项目中使用natty master。但我无法导入它。没有maven我怎么能用natty?我找到了这些代码,我添加了JAR,但它不起作用

import java.util.Date;

import java.util.List;

import java.util.Map;

import com.joestelmach.natty.*;

public class natty {

public static void main(String[] args) {

    Parser parser = new Parser();

    List<DateGroup> groups = parser.parse("the day before next thursday");
    for(DateGroup group:groups)  {
    Date dates = group.getDates().get(0);           
    int line = group.getLine();
    int column = group.getPosition();
    String matchingValue = group.getText();
    String syntaxTree = group.getSyntaxTree().toStringTree();
        Map parseMap = group.getParseLocations();
    boolean isRecurreing = group.isRecurring();
    Date recursUntil = group.getRecursUntil();
       }
    }
import java.util.Date;
导入java.util.List;
导入java.util.Map;
导入com.joestelmach.natty.*;
公共级纳蒂{
公共静态void main(字符串[]args){
Parser Parser=新解析器();
List groups=parser.parse(“下周四的前一天”);
用于(日期组组:组){
日期日期=group.getDates().get(0);
int line=group.getLine();
int column=group.getPosition();
String matchingValue=group.getText();
字符串syntaxTree=group.getSyntaxTree().toStringTree();
Map parseMap=group.getParseLocations();
布尔值isRecurring=group.isRecurring();
Date recursiuntil=group.getRecursiuntil();
}
}

}

我为您调查了一下。
我假设您正在使用Eclipse和当前版本的ADT插件。 首先,让我们确保正确添加jar:

  • 您必须在数据库的根级别上创建名为
    libs
    的文件夹 项目(与
    src
    res
    等一起)
  • 将第三方JAR复制到
    libs
  • 右键单击project并执行Refresh,ADT将发现libs并将它们添加为Android依赖项
  • 现在来看看图书馆。Maven列出的natty-07.jar的所有依赖项包括:

    antlr-2.7.7.jar
    antlr-runtime-3.2.jar
    backport-util-concurrent-3.1.jar
    commons-codec-1.5.jar
    commons-lang-2.6.jar
    commons-logging-1.1.1.jar
    ical4j-1.0.2.jar
    stringtemplate-3.2.jar
    
    是的,您必须将2.3MB的依赖项复制到
    libs

    我不认为它们在运行时都是必要的,但我无法判断哪些是关键的。
    使用ProGuard可能会减少其中一些,但那是另一回事

    我用minSdkVersion=“8”和targetSdkVersion=“17”创建了quick'n脏应用程序。然后将您提供的示例代码放入“活动”,并根据输入运行它:
    “下周四的前一天”
    。因此,我得到了一个日期为
    [Wed May 22 16:52:49 GMT 2013]
    的小组,这是可以的,因为今天是5月17日星期五


    编辑2013-06-02
    基本代码:

    完整解决方案:

    回答得好。这个周末,我在maven build外试用natty-0.8时遇到了类似的问题。我在运行时只需要两个依赖项,即
    antlr-runtime-3.2.jar
    ical4j-1.0.2.jar
    。Natty是一个很好的图书馆,从我到目前为止的尝试来看,我又遇到了一个问题。我写了这些代码,它在java项目中正常工作。但当我在android设备上尝试时,我在运行开始时将错误视为“它已停止”。原因可能是什么?这是一般错误消息。任何事情都可能是原因。尝试使用您的工具:阅读logcat,检查Eclipse的控制台视图,在代码中放置一些断点,然后在调试模式下运行您的应用程序。如果不提供像异常堆栈跟踪这样的最小输入,没有人能够帮助您。我将通过链接扩展我的答案,以获得完整的解决方案,我希望您会发现它们有用。