Java 如何使用natty master?
我应该在我的android项目中使用natty master。但我无法导入它。没有maven我怎么能用natty?我找到了这些代码,我添加了JAR,但它不起作用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) {
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
等一起)libs
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的控制台视图,在代码中放置一些断点,然后在调试模式下运行您的应用程序。如果不提供像异常堆栈跟踪这样的最小输入,没有人能够帮助您。我将通过链接扩展我的答案,以获得完整的解决方案,我希望您会发现它们有用。