有没有在Eclipse中使用DukeScript的教程?我只能找到与NetBeans配合使用的描述。
发布于 2015-05-29 13:05:11
现在我花了几个小时尝试运行一个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找不到插件生成的数据(模型)类。因此,我只需将/target/generated-sources/annotations添加到源文件夹。也许不是最优雅的解决方案,必须有一种在pom中做到这一点的方法。因此,没有编译错误。然而,当我运行它时,我得到了一个异常:
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>也适用于.project中的java运行时
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">还有最后一件事要做,那就是设置"browser.rootdir“属性,以便应用程序可以找到web资源。仅用于测试:
String userdir = System.getProperty("user.dir") + "/src/main/webapp";
System.setProperty("browser.rootdir", userdir ); 我现在可以打开页面并开始动画,但由于其他错误,我无法停止它。不管怎么说,这是一个开始。
更新2
我已经设法让Eclipse使用这个插件处理DukeScript注释并生成源代码:m2e-apt。为了让插件正常工作,还有一件事要添加到pom中:
<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> 发布于 2015-05-31 22:35:01
这些问题与usability review期间提出的问题类似。解决此类编译错误的方法是切换到命令行,然后执行"mvn干净安装“,这样就可以正常工作。在某种程度上配置Eclipse is possible,您似乎找到了正确的方法。
发布于 2015-04-21 02:08:45
更新:我写了a short tutorial。请让我知道它是否适用于您,以及需要改进的地方。
https://stackoverflow.com/questions/28582900
复制相似问题