Как открыть один проект для Java, Scala и JRuby в Eclipse? - PullRequest
10 голосов
/ 23 января 2012

Мне удалось заставить всех трех запустить Hello World в "Scala Project" с файлом .java в качестве основного.Проблема в том, что он извлекается из «проекта Java», которым я не пользуюсь, хотя у меня есть «Системная библиотека JRE» в моем «проекте Scala».Вот код того, что я делаю, чтобы помочь понять ...

JRuby.java

import org.jruby.embed.ScriptingContainer;
public class JRuby {                                              

    public static void main(String[] args) 
    {                     
        System.out.println("Java, Scala and Ruby using the JRE.\n"); 

        ScriptingContainer container = new ScriptingContainer(); 
        container.runScriptlet("puts 'This is JRuby code in .java file!'");

        new ScallaHello().hello(); 

        System.out.println("This is standard Java Code in .java file!"); 
    }
}

ScallaHello.scala

class ScallaHello {

    def hello() { 
        println("This is a Scala Method in .scala file, object set in .java file")
    }

    System.out.println("This is Java Code in .scala file!")
    println("This is Scalla Code in .scala file!")
}

Конечные результаты...

Java, Scala and Ruby using the JRE.

This is JRuby code in .java file!
This is Java Code in .scala file!
This is Scalla Code in .scala file!
This is a Scala Method in .scala file, object set in .java file
This is standard Java Code in .java file!

У меня есть банки, организованные как Библиотека Scala, Библиотека JRE и Библиотеки со ссылками для Juby Jar.У меня также есть то же самое в «Java Project», которое я не хочу использовать.Если я закрою этот проект, этот проект "Scala Project" не будет запущен.Очевидно, что это не важный проект, но я хочу лучше понять, как это работает.

Ответы [ 3 ]

3 голосов
/ 18 февраля 2012

Не должно быть проблем с использованием кода Java внутри проекта Scala. Вы, должно быть, непреднамеренно объявили зависимость от проекта scala от проекта Java, но без дополнительной информации я не могу сказать.

Приложите файлы .classpath и .project для вашего проекта scala.

2 голосов
/ 19 февраля 2012

--- Отредактировано, так как этот ответ тупиковый. ---

Я оставляю это сообщение, чтобы другие не пытались идти по этому пути. Тем не менее, он не заслуживает больше голосов "за" (но также не голосуйте "за")

Концепция Facets является правильной концепцией, однако в настоящее время Eclipse не поддерживает основные компоненты IDE вне веб-разработки, что дополняет Facets.

--- Исходный пост следует ---

Преобразование (или создание) проекта в проект фасетов. С помощью фасетов вы можете добавлять (или удалять) аспекты природы проекта по умолчанию. В вашем случае, я думаю, вы захотите добавить JRuby, Scala (и другие) в стандартный проект Java.

--- Дополнительная информация после запроса ---

enter image description here По сути, вы открываете свойства проекта, затем выбираете «Фасеты проекта» в левой части и выбираете «преобразовать проект в форму фасетов». Это позволит «разделить» аспекты вашей «природы проекта» и позволит вам добавлять и удалять отдельные плагины проекта. Используя такие приемы, вы можете добавить в свой Scala / JRuby / etc дополнительных помощников.

В основном я делал это, чтобы настроить сторону стека для веб-сервисов, поэтому ваш пробег может отличаться. Однако, если это не работает так, как рекламируется, это правильный способ добавить такую ​​функциональность, поэтому не стесняйтесь сообщать об ошибке.

2 голосов
/ 19 февраля 2012

Я получил исправление проблемы в течение первой недели.Это связано с проблемой зависимости.Я построил новый проект, и он работал.Этот вопрос некоторое время был неактивным, пока om-nom-nom не предложил +50 за ответ.Я извиняюсь, если кто-то чувствовал, что все еще был нужен ответ.Чтобы сделать этот ответ находчивым для других, я открыл блог на http://shaneofalltrades.com/java.html с подробными сведениями о полной настройке.Вот копия этого учебника ...

Если у вас уже есть Eclipse, вы сможете использовать эту версию или выполнить следующие шаги и установить другой Eclipse, чтобы сохранить эту среду отдельно.

  1. Загрузите Eclipse 3.7 Indigo с >> http://www.eclipse.org/downloads/ и выберите Eclipse IDE для разработчиков Java.Распакуйте в папку, которую легко найти.Если вы не знакомы с Eclipse, он не загружается автоматически в ваши программные файлы.Я поместил мой в папку с документами.После распаковки он полностью готов к работе.Вы можете прикрепить исключительный файл к панели задач, если вам проще.
  2. Загрузите файл scala-2.9.1.final.zip для Eclipse по адресу >> http://www.scala -lang.org / downloads Следуйте инструкциям.Во время этой установки она включает в себя вставку страницы / ссылки для загрузки в раздел Eclipse «Установка нового программного обеспечения» на вкладке «Справка» в Eclipse.
  3. После вставки ссылки и присвоения имени сохраненному местоположению вы должны увидетьэлементы ... Убедитесь, что вы развернули их и видите все поля, выберите «Выбрать все», затем нажмите «Далее», затем «Далее»> еще раз для установки.Примите условия и выберите Готово.Убедитесь, что вы просматриваете термины, которые нужно выбрать, и видите все окна, выбранные для этого.Я столкнулся с проблемой загрузки, пока не прошел все флажки и «Принять условия» более тщательно.После того, как все установлено правильно, он должен перезапустить или попросить перезапустить.Теперь Eclipse и Scala должны быть установлены, но все равно должны быть настроены для правильной работы.
  4. После перезапуска Eclipse он должен спросить вас, хотите ли вы проверить правильность настроек плагина, выберите yes.
  5. JDT Плетение должно быть включено.Выберите рекомендуемые настройки по умолчанию и выберите ОК.
  6. Теперь у вас должна быть возможность выбрать новый проект Файл >> Создать> Проект…, затем выбрать Scala Wizard >> Проект Scala.Назовите свой проект, затем выберите следующий.

Теперь мы собираемся отдохнуть от Scala и скачать JRuby.Этот шаг можно пропустить, если вы не хотите использовать Ruby, или вы можете использовать этот единственный шаг, чтобы просто добавить JRuby в проект Java.

Загрузить JRuby

  1. Перейти кhttp://jruby.org/download и загрузите JRuby 1.6.6 Complete .jar
  2. Поместите файл в место, которое вы запомните, так как вам нужно будет получить к нему доступ в Eclipse через пару шагов.
  3. Щелкните правой кнопкой мыши свой пакет Scala в проводнике пакетов ...
  4. Выберите Путь сборки, затем выберите Добавить внешние архивы ... Найдите только что загруженный файл Juby jar (помещенный в безопасную папку перед этим шагом) и выберите его.Eclipse загрузит это в ваш проект вместе с другими вашими библиотеками.Возможно, есть лучший способ включить это в системную библиотеку JRE, что исключило бы этот шаг.

Назад к настройке проекта в Eclipse…

  1. Щелкните правой кнопкой мышиScala Package снова в Package Explorer и выберите Build Path, затем выберите Configure Build Path….Перейдите на вкладку «Порядок и экспорт», отметьте все библиотеки и нажмите «ОК».
  2. Время для создания проекта: щелкните правой кнопкой мыши пакет Scala >> Создать >> Другой…
  3. Java >> Класс, выберите Далее
  4. Назовите его JRuby и установите флажки какэто и выберите Finish…
  5. Далее создайте класс Scala: щелкните правой кнопкой мыши на пакете Scala >> Создать >> Scala Class
  6. Назовите его ScallaHello, выберите Finish.
  7. Вставьте вкод выше и запустите!
  8. Если вас спросят, хотите ли вы настроить Classpaths, выберите Да.

Это должно охватывать все для вашего Hello World из Java, Scala и Ruby.Если у вас есть какие-либо вопросы, пожалуйста, спросите, и я буду рад помочь.

...