首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Eclipse中调用Java中的Frege?

如何在Eclipse中调用Java中的Frege?
EN

Stack Overflow用户
提问于 2015-07-20 13:35:41
回答 1查看 211关注 0票数 3

在这个话题上,我找不到一个现成的例子。

在同一个项目中,我成功地调用了从Frege到Frege,以及从Java到Java,但是我无法让.Java-文件识别..fr文件

要让下面的代码工作(在Consumer.java中),我应该遵循哪些步骤

我的基本设置如下所示:

我安装了eclipse,并按照说明执行。

代码语言:javascript
复制
java version "1.7.0_79"

项目建设者按以下顺序排列:

代码语言:javascript
复制
Frege builder
Java Builder

项目路径:

代码语言:javascript
复制
* src
      - package tutorials
        -- Consumer.java
        -- FregeProducer.fr

* Referenced Libraries
      - fregec.jar

* JRE System Library
      - ...

消费者:

代码语言:javascript
复制
package tutorials;

public class Consumer {

    public static void main(String[] args) {
        System.out.println("This should be zero: " + FregeProducer.myZero);
    }   
}

FregeProducer:

代码语言:javascript
复制
module FregeProducer where

myZero = 0 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-21 20:47:37

据我所知,你的设置没问题。但是,您似乎遇到了Java限制,不允许在命名包中的类中使用未命名包中的类。

我们在这里尝试从FregeProducer内部使用类tutorials.Consumer中的一些东西,这是无法通过tutorials.Consumer规则实现的。

您需要将模块名指定为tutorials.FregeProducer。(不足以将源文件放置在tutorials目录中。)那么您的未修改的Java代码应该可以工作,IMHO。

当然,您可以在您想要的任何包中生成Frege类。为此,您需要将源文件移动到相应的目录中,并选择适当的模块名称。请记住,模块名称(只模块名称,也不包括源文件名或位置)决定了编译后的类的完全限定类名:

代码语言:javascript
复制
module Foo where    -- creates class Foo in unnamed Java package
module com.bar.Foo where -- creates class Foo in Java package com.bar
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31517947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档