我有一个Rascal项目我想导出到JAR文件,以便像终端应用程序一样运行,因此用户只需从命令行运行JAR,而不是从Eclipse运行它。有没有办法做到这一点?我试图将其导出为常规Java项目,但我不确定如何指定诸如JAR的入口点之类的东西。
答案 0 :(得分:2)
这里是当前Rascal 0.18.2的更新答案,更像菜谱。 @ davy-landman帮助我将其组合在一起。
假设您有一个非常简单的Rascal模块,您想将其部署到命令行,例如HelloWorldMain.rsc
:
module HelloWorldMain
import IO;
int main(int arg=1) {
println("Hello, World!");
return 0;
}
将其放入具有以下结构的HelloWorldMain.jar
文件中:
|- src
|- HelloWorldMain.rsc
|- META-INF
|- RASCAL.MF
包含的RASCAL.MF文件如下所示:
Manifest-Version: 0.0.1
Project-Name: MyRascalProject
Source: src
Main-Module: HelloWorldMain
Main-Function: main
然后可以使用
调用它java -Xmx1G -Xss32m -cp "HelloWorldMain.jar;rascal-0.18.2.jar" org.rascalmpl.shell.RascalShell
假设自定义项和Rascal jar都在当前目录中。类路径中文件的顺序很重要。确保您调用的Java二进制文件来自JDK(而不是JRE)。这将从您的HelloWorldMain模块直接运行main()
方法。
答案 1 :(得分:0)
这取决于您使用的API。
因此,如果您可以更具体地提出您的问题,我会针对您的案例做出具体答案,包括示例。
(这个答案有点半评论/半答案,对不起)。