Как использовать DukeScript с Eclipse?

Есть ли руководство по использованию DukeScript с Eclipse? Я могу найти только описание для использования с NetBeans.

3 ответа

Теперь я потратил несколько часов, пытаясь запустить проект Dukescript. Не будучи пользователем NetBeans, я создал проект из архетипа Maven, а затем попытался импортировать его в Eclipse. Одна из проблем заключается в том, что m2eclipse смущает плагин html4j-maven-plugin, он не знает, на какой стадии жизненного цикла сборки он должен работать (насколько я понимаю). Итак, я добавил это:

  <pluginManagement>
<plugins>
  <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
  <plugin>
    <groupId>org.eclipse.m2e</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <version>1.0.0</version>
    <configuration>
        <lifecycleMappingMetadata>
            <pluginExecutions>
                <pluginExecution>
                    <pluginExecutionFilter>
                        <groupId>org.netbeans.html</groupId>
                        <artifactId>
                            html4j-maven-plugin
                        </artifactId>
                        <versionRange>[1.1,)</versionRange>
                        <goals>
                            <goal>process-js-annotations</goal>
                        </goals>
                    </pluginExecutionFilter>
                    <action>
                        <execute></execute>
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
  </plugin>
</plugins>

Теперь m2eclipse не соответствует. Тем не менее, Eclipse не находит классы Data (model), которые генерирует плагин. Поэтому я просто добавил / target / генерируемый-источники / аннотации в исходную папку. Возможно, не самое элегантное решение, должен быть способ сделать это в пом. Итак, ошибок компиляции нет. Тем не менее, когда я запускаю его, я получаю исключение:

Exception in thread "main" java.util.ServiceConfigurationError: org.netbeans.html.boot.spi.Fn$Presenter: Provider org.netbeans.html.boot.fx.FXPresenter could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:224)
at java.util.ServiceLoader.access$100(ServiceLoader.java:181)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377)
at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
at net.java.html.boot.BrowserBuilder.showAndWait(BrowserBuilder.java:275)
at javelin.Main.main(Main.java:14)
Caused by: java.lang.UnsupportedClassVersionError: javafx/application/Platform : Unsupported major.minor version 52.0

Возможно, это выглядит как несоответствие между целевым байт-кодом и временем выполнения. Я обновлю этот ответ, если выясню.

Обновить

Успех! Я установил источник компиляции Java и цель на 8

      <configuration>
          <source>1.8</source>
          <target>1.8</target>
      </configuration>

А также для времени выполнения Java в.project

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">

Оставалось сделать еще одну вещь: установить свойство browser.rootdir, чтобы приложение могло находить веб-ресурсы. Просто для тестирования:

String userdir = System.getProperty("user.dir") + "/src/main/webapp";
System.setProperty("browser.rootdir", userdir ); 

Я могу открыть страницу и запустить анимацию, но не могу ее остановить из-за других ошибок. Во всяком случае, это начало.

Обновление 2

Мне удалось заставить Eclipse обрабатывать аннотации DukeScript и генерировать источники с помощью этого плагина: m2e-apt. Для работы плагина нужно добавить еще одну вещь:

<plugin>   
   <groupId>org.bsc.maven</groupId>   
      <artifactId>maven-processor-plugin</artifactId>   
      <version>2.2.4</version>   
      <executions>   
         <execution>   
           <id>process</id>   
             <goals>   
               <goal>process</goal>   
             </goals>   
             <configuration>
                <outputDirectory>target/generated-sources/annotations</outputDirectory>
            </configuration> 
          </execution>   
        </executions>   
        <dependencies>   
          <dependency>
            <groupId>org.netbeans.html</groupId>
            <artifactId>html4j-maven-plugin</artifactId>
            <version>${net.java.html.version}</version>
          </dependency>
         </dependencies>   
</plugin> 

Эти проблемы аналогичны тем, которые были подняты в ходе проверки юзабилити. Способ обойти такие ошибки компиляции - переключиться в командную строку и выполнить "mvn clean install", которая работает правильно. Конфигурирование Eclipse возможно в некоторой степени, и вы, кажется, нашли правильный путь.

Обновление: я написал краткое руководство. Пожалуйста, дайте мне знать, если это работает для вас, и что нужно улучшить.

Другие вопросы по тегам