JavaFX 2.0 + NetBeans + Maven [英] JavaFX 2.0 + NetBeans + Maven
问题描述
我正在使用NetBeans 7.0.1创建JavaFX 2.0 应用程序.当我以标准方式创建项目时,一切正常.不幸的是;)我需要 Maven 项目...
I am creating JavaFX 2.0 application using NetBeans 7.0.1. When I create project in standard way everything works fine. Unfortunately ;) I need Maven project...
我在Maven存储库中找不到JavaFX 2.0,所以我的pom.xml现在看起来像这样:
I didn't find JavaFX 2.0 in Maven repository, so my pom.xml right now looks like this:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>ui</artifactId>
<version>0.1</version>
<name>My Project</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javafx</groupId>
<artifactId>jfxrt</artifactId>
<version>2.0</version>
<type>jar</type>
<scope>system</scope>
<systemPath>${env.JAVAFX_HOME}\lib\jfxrt.jar</systemPath>
</dependency>
</dependencies>
</project>
已设置JAVAFX_HOME系统变量:
JAVAFX_HOME system variable is set:
C:\Users\rach>echo %JAVAFX_HOME%
C:\Program Files\Oracle\JavaFX Runtime 2.0\
编译可以,但是当我在NetBeans下启动程序时出现错误:
Compilation goes okay, but when I start program under NetBeans I got error:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application at java.lang.ClassLoader.defineClass1(Native Method)
但是jfxrt.jar在类路径中:
However jfxrt.jar is in classpath:
C:\>echo %CLASSPATH%
C:\Program Files\Oracle\JavaFX Runtime 2.0\lib\jfxrt.jar
当我从命令行启动应用程序时,它运行正常.
When I start my application from command line it works fine.
当我在运行时在本地存储库中安装jfxrt.jar时,应用程序仍然无法启动,因为它找不到 C:\ Program Files \ Oracle \ JavaFX Runtime 2.0 \ bin \ mat.dll . Pom.xml:
When I install jfxrt.jar in local repository at runtime application still does not start because it cannot find C:\Program Files\Oracle\JavaFX Runtime 2.0\bin\mat.dll. Pom.xml:
<dependency>
<groupId>javafx</groupId>
<artifactId>jfxrt</artifactId>
<version>2.0</version>
<type>jar</type>
</dependency>
效果:
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: C:\Repositories\MavenRepo\javafx\jfxrt\bin\mat.dll at com.sun.javafx.tk.quantum.QuantumToolkit.startup(Unknown Source)
有什么想法吗?
推荐答案
感谢您的帮助.
这里使用JavaFX 2.0 SDK的人都是简单的步骤
Those who are using JavaFX 2.0 SDK here are simple steps
-
在您的Shell中转到JavaFX 2.0 SDK \ rt \ lib(命令提示符)
Go to JavaFX 2.0 SDK\rt\lib in your shell (command prompt)
执行mvn install:install-file -Dfile = jfxrt.jar -DgroupId = com.oracle -DartifactId = javafx -Dpackaging = jar -Dversion = 2.0
Execute mvn install:install-file -Dfile=jfxrt.jar -DgroupId=com.oracle -DartifactId=javafx -Dpackaging=jar -Dversion=2.0
将bin文件夹从JavaFX 2.0 SDK \ rt \目录复制到.m2 \ repository \ com \ oracle \ javafx目录
Copy bin folder from your JavaFX 2.0 SDK\rt\ directory to your .m2\repository\com\oracle\javafx directory
4. <dependency>
<groupId>com.oracle</groupId>
<artifactId>javafx</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
4.<dependency>
<groupId>com.oracle</groupId>
<artifactId>javafx</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
这篇关于JavaFX 2.0 + NetBeans + Maven的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!