Val*_* P. 5 .net java ant ikvm
有一个Java工具(它叫做Mallet) http://mallet.cs.umass.edu/download.php 我想在我的.NET项目中使用它.
为了首先将此工具转换为.NET库,我尝试使用Apache Ant在单个.jar文件中构建它.我已完成了与上面链接中的说明相对应的所有内容.
从Mercurial存储库下载Developer Release.
下载Apache Ant,安装JDK,设置JAVA_HOME var以使用Apache Ant.
使用Ant我已经构建了单个mallet.jar文件.
然后我想使用IKVMC将mallet.jar转换为.NET库.在转换时,我收到了很多警告,例如:
Warning IKVMC0108: not a class file "cc/mallet/util/tests/TestPriorityQueue$1.cl
ass", including it as resource
(class format error "51.0")
Run Code Online (Sandbox Code Playgroud)
尽管有这些警告,但是创建了mallet.dll.但是当我尝试从我的.NET项目中引用它时,它看起来是"空的".它没有任何类或命名空间.我不会忘记引用IKVM.OpenJDL.Core.
这是不寻常的,我在谷歌找不到任何相同的问题.
我认为这个问题出现在警告中.而且我从未使用过Ant,而且我并不完全理解所有过程.
Java 7引入了类格式版本51.
IKVM很可能还不支持该版本,并且您引用的文件名(cc/mallet/util/tests/TestPriorityQueue$1.class)指向一个匿名内部类,TestPriorityQueue这肯定是库正常工作所必需的.
我的建议:用槌旧的JDK或编译至少使用-source和-target开关设置为6(以确保它的编译为Java 6).
IKVM的FYI v8.1(当前在RC中)支持Java 8:
http://weblog.ikvm.net/2015/08/26/IKVMNET81ReleaseCandidate0.aspx http://sourceforge.net/p/ikvm/mailman/message/34502991/
| 归档时间: |
|
| 查看次数: |
4984 次 |
| 最近记录: |