创建frege.jar并包含中间.java文件(用于J2ObjC)

时间:2015-11-04 22:46:31

标签: j2objc frege

有没有办法将Frege运行时和库编译成它们的.java中间体?我试图通过J2ObjC将Frege作为iOS应用程序的一部分,它无法解析.class文件。

2 个答案:

答案 0 :(得分:1)

根据一些测试,以下内容将起作用:

# get the project
git clone https://github.com/Frege/frege.git
cd frege
# make a current frege compiler available and build a new one
cp ~/Downloads/frege3.23.370*.jar fregec.jar
make runtime fregec.jar
# optionally, remove the class files
find build/ -type f -name '*.class' -exec rm {} ';'

此时,您在fregec.jar中有一个可运行的编译器,以及与build/frege/下该jar中的类对应的java源代码 将此编译器与您自制的Java源一起使用非常重要。因为,假设foo已在某个模块中替换为bar,并且您的frege源代码引用foo。然后你可以使用较旧的fregec.jar编译它,但你不能编译生成的java文件(其中仍然有foo)和没有foo的java源文件,只有{ {1}}。

除此之外,您现在可以经常使用这些资源来创建独立的frege库/应用程序。

下面我将展示如何制作独立的控制台应用程序,请根据您的需求进行调整。假设是:

  • 该项目位于兄弟目录bar
  • 主要功能在模块standalone

我们走了:

my.fine.App

答案 1 :(得分:0)

Ingo的答案适合创建Java中间文件。 只是想添加我自己的答案,以澄清Frege有很多与J2ObjC不兼容的依赖关系,因此无法使用J2ObjC。