Как позвонить Фреге с Java в Eclipse?
Я не смог найти ни одного готового примера по этой теме.
Мне удалось позвонить из Фреге во Фреге, а также из Java в Java в том же проекте, но я не смог получить.java-файлы для распознавания.fr-файлов
Какие шаги я должен выполнить, чтобы заставить работать следующий код (в Consumer.java)
Моя базовая настройка выглядит так:
Я установил eclipse-плагин и следовал инструкциям.
java version "1.7.0_79"
Построители проектов в следующем порядке:
Frege builder
Java Builder
Путь проекта:
* src
- package tutorials
-- Consumer.java
-- FregeProducer.fr
* Referenced Libraries
- fregec.jar
* JRE System Library
- ...
Потребитель:
package tutorials;
public class Consumer {
public static void main(String[] args) {
System.out.println("This should be zero: " + FregeProducer.myZero);
}
}
FregeProducer:
module FregeProducer where
myZero = 0
1 ответ
С вашей настройкой все в порядке, насколько я вижу. Однако похоже, что вы сталкиваетесь с ограничением Java, которое не позволяет использовать классы из неназванного пакета в классе, который находится в именованном пакете.
Здесь у нас есть попытка использовать что-то в классе FregeProducer
изнутри tutorials.Consumer
и это не будет работать по правилам Java.
Вам нужно указать имя модуля как tutorials.FregeProducer
, (Недостаточно просто поместить исходный файл в tutorials
каталог.) Тогда ваш неизмененный код Java должен работать, ИМХО.
Конечно, вы можете создавать классы Фреге в любой упаковке. Для этого вам нужно переместить исходный файл в соответствующий каталог и выбрать подходящее имя модуля. Помните, что имя модуля (и только имя модуля, а не имя и местоположение исходного файла) определяет полное имя класса скомпилированного класса:
module Foo where -- creates class Foo in unnamed Java package
module com.bar.Foo where -- creates class Foo in Java package com.bar