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