因此,我试图提供一个Android应用程序,该应用程序可以读取日文文本文件,并向读者提供有关正在使用的词汇和语法的深入信息。

为此,我需要一个日语形态分析器将无间距的文本解析为单个单词。

我从Apache找到了一些非常有用的库:

Lucene-Analyzers-Kuromoji(日本形态分析仪)

Lucene分析人员共同(依从)

Lucene-Core(相关)

在一个空的Java项目中测试这些库,我发现这些库对于分解日语文本非常有用且可靠。不幸的是,当我尝试在应用程序中使用它们时,我的项目无法编译,并且我意识到我的库是基于Java 7U40构建的。

http://grepcode.com/static/data/html/repo1.maven.org $ maven2 / org.apache.lucene / lucene-analyzers-common / 5.0.0 / visualization.svg

浏览有关Stack Overflow的几篇文章时,大家的共识似乎是,唯一的解决方案是找到用Java 6或更旧版本编写的库。

在Maven存储库中搜索时,我发现相同库的版本可以追溯到2012年。

检查每个组件的依赖性,我发现用Java 6编写的最新版本刚刚于2014年4月发布。

http://grepcode.com/static/data/html/repo1.maven.org $ maven2 / org.apache.lucene / lucene-analyzers-common / 4.7.2 / visualization.svg

这是解决Android jdk 6限制的好方法吗?使用基于Java旧版本构建的过时软件似乎是一个临时解决方案,我认为这种方法不会持续很长时间。

随着越来越多的Java用现代版本编写的库,这个问题只会变得更加严重。

我个人还没有听说过将Android切换到Java 7或8(我是Android新手),有人知道是否有更可靠的方法来解决此问题?

最佳答案

这是解决Android jdk 6限制的好方法吗?


对于“好”的某些定义,是的,如果它运行的话。


随着越来越多的Java用现代版本编写的库,这个问题只会变得更加严重。


仅适用于正在开发专注于传统Java环境的项目并尝试在Android上使用它们的开发人员。请注意,Lucene并非旨在用于移动设备。从历史上看,他们的重点一直放在服务器端Java上。如果Lucene的东西碰巧可以在Android上运行,那就太好了,但是Lucene项目可能会(也可能不会)高度关注Android兼容性。

就语法而言,Android支持使用Java的较新版本进行开发。但是,Android的类库与Java的Java SE,Java EE等的类库不同。这与Java版本本质上无关,尽管自从Java 6是Java的当前版本发布Android以来,它的类库最类似于Java 6中的Java SE。

可能有些scratch痒的人可能会创建这些库的变体,使其与当前功能集匹配,但坚持使用Android SDK中存在的类。或者,一个渴望抓挠的人可以更直接地实现一个对Android友好的日语形态分析器(据我所知,有人拥有,因为我没有去寻找一个)。

10-06 05:42
查看更多