Как открыть один проект для Java, Scala и JRuby в Eclipse?

Мне удалось запустить все три проекта Hello World в проекте Scala с файлом .java в качестве основного. Проблема в том, что он вытягивается из "Java Project", который я не использую, хотя у меня есть системная библиотека 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 и справочные библиотеки для JRuby Jar. У меня также есть то же самое в "Java Project", который я не хочу использовать. Если я закрою этот проект, этот проект "Scala Project" не запускается. Очевидно, что это не важный проект, но я хочу лучше понять, как это работает.

Ответ 1

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

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

  • Загрузите Eclipse 3.7 Indigo из → http://www.eclipse.org/downloads/и выберите Eclipse IDE для разработчиков Java. Разархивируйте папку, которую вы легко найдете. Если вы не знакомы с Eclipse, он не загружается автоматически в файлы вашей программы. Я поместил мою в папку с документами. После распаковки он полностью работоспособен. Вы можете прикрепить исключительный файл к панели задач, если вам это проще.
  • Загрузите scala -2.9.1.final.zip файл для Eclipse по адресу http://www.scala-lang.org/downloads. Следуйте инструкциям. Во время этой установки он включает в себя вставку страницы загрузки/ссылки в раздел Eclipse "Установить новое программное обеспечение" на вкладке "Справка" в Eclipse.
  • После вставки ссылки и названия вашего сохраненного местоположения вы должны увидеть элементы... Убедитесь, что вы раскрываете их и видите все поля, выберите "Выбрать все", затем "Далее" > , затем "Далее" > "Далее" для установки. Примите условия и выберите "Готово". Удостоверьтесь, что вы проходите через термины, которые нужно выбрать, и увидите, что все окна для этого выбраны. Я столкнулся с проблемой загрузки, пока я не проверил все флажки и "Принимаю условия". Как только все будет установлено правильно, он должен перезапустить или запросить перезапуск. Теперь Eclipse и Scala должны быть установлены, но его все еще нужно настроить для правильной работы.
  • После перезапуска Eclipse он должен спросить вас, хотите ли вы проверить правильность настроек плагина, выбрать "Да".
  • JDT Weaving должно быть включено. Выберите рекомендуемые настройки по умолчанию и нажмите OK.
  • Теперь вы можете выбрать новый проект File → New > Project... и затем выбрать Scala Wizard → Scala Project. Назовите свой проект, а затем выберите следующий.

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

Загрузить JRuby

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

Назад к настройке вашего проекта в Eclipse...

  • Щелкните правой кнопкой мыши Scala Пакет снова в Проводнике пакетов и выберите "Путь сборки", затем выберите "Настроить путь сборки...". Перейдите на вкладку "Заказ и экспорт" и отметьте все библиотеки, затем выберите "ОК".
  • Время создания проекта: Щелкните правой кнопкой мыши Scala Пакет → Создать → Другое...
  • Java → Class, Select Next
  • Назовите его JRuby и установите флажки в этом поле и выберите Finish...
  • Далее создайте Scala Класс: Щелкните правой кнопкой мыши Scala Пакет → Создать → Scala Класс
  • Назовите его ScallaHello, выберите Finish.
  • Вставить в код выше и запустить!
  • Если вы спросите, хотите ли вы настроить пути к классам, выберите "Да".

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

Ответ 2

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

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

Ответ 3

--- Отредактировано, так как этот ответ является тупиком. ---

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

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

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

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

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

enter image description here В принципе, вы открываете свойства проекта, затем вы выбираете "Границы проекта" с левой стороны и выбираете "преобразовать проект в фасетную форму". Это позволит "разделить" грани вашего "характера проекта" и позволить вам добавлять и удалять отдельные плагины проекта. Используя такие методы, вы можете добавить в свои дополнительные помощники Scala/JRuby/etc.

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