GVKun编程网logo

JavaFX 2.0 + NetBeans + Maven

12

对于想了解JavaFX2.0+NetBeans+Maven的读者,本文将提供新的信息,并且为您提供关于IBM收购Sun对Glassfish、NetBeans和JavaFX未来的影响、IDEA通过Mav

对于想了解JavaFX 2.0 + NetBeans + Maven的读者,本文将提供新的信息,并且为您提供关于IBM 收购 Sun 对 Glassfish、NetBeans 和 JavaFX 未来的影响、IDEA通过Maven打包JavaFX工程(OpenJFX11)、java – NetBeans 6.9.x的度量标准、java – Netbeans&Maven:不同的编译行为的有价值信息。

本文目录一览:

JavaFX 2.0 + NetBeans + Maven

JavaFX 2.0 + NetBeans + Maven

我正在使用NetBeans 7.0.1创建JavaFX 2.0应用程序。当我以标准方式创建项目时,一切正常。不幸的是;)我需要Maven项目…

我在Maven存储库中没有找到JavaFX 2.0,所以我的pom.xml现在看起来像这样:

<?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系统变量:

C:\Users\rach>echo %JAVAFX_HOME%C:\Program Files\Oracle\JavaFX Runtime 2.0\

编译可以,但是在NetBeans下启动程序时出现错误:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application at java.lang.ClassLoader.defineClass1(Native Method)

但是jfxrt.jar在类路径中:

C:\>echo %CLASSPATH%C:\Program Files\Oracle\JavaFX Runtime 2.0\lib\jfxrt.jar

当我从命令行启动应用程序时,它可以正常工作。

当我在运行时在本地存储库中安装jfxrt.jar时,应用程序仍然无法启动,因为它找不到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)

有任何想法吗?

答案1

小编典典

那些在这里使用JavaFX 2.0 SDK的人很简单

  1. 在外壳程序中转到JavaFX 2.0 SDK \ rt \ lib(命令提示符)

  2. 执行mvn install:安装文件-Dfile = jfxrt.jar -DgroupId = com.oracle -DartifactId = javafx -Dpackaging = jar -Dversion = 2.0

  3. 将bin文件夹从JavaFX 2.0 SDK \ rt \目录复制到.m2 \ repository \ com \ oracle \ javafx目录

4。<dependency>

<groupId>com.oracle</groupId>
<artifactId>javafx</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>

答案2

小编典典

当前的Java 7和捆绑的Java FX 2.0的最佳答案是:

<dependency>  <groupId>com.oracle</groupId>  <artifactId>javafx</artifactId>  <version>2</version>  <systemPath>${java.home}/lib/jfxrt.jar</systemPath>  <scope>system</scope></dependency>  

并将其添加到NetBeans中使用的Maven配置文件的“运行项目”操作中:

exec.classpathScope=compile

您也可以将其与“调试项目”,“配置文件项目”,“通过main()运行文件”,“通过main()运行调试文件”和“通过main()运行配置文件”一起使用:)

IBM 收购 Sun 对 Glassfish、NetBeans 和 JavaFX 未来的影响

IBM 收购 Sun 对 Glassfish、NetBeans 和 JavaFX 未来的影响

作者:IT168 东方蜘蛛译

专题报道:传 IBM 欲 65 亿美金收购 Sun

IT168 分析评论】在《华尔街日报》曝光了 IBM 可能收购 Sun 的新闻后,全球各大媒体迅速纷纷跟进报道这一业界重大新闻。而对于 Java 开发者来说,或许更想知道的是,如果此事成真,Java 及 Java 相关产品的未来将会受到什么样的影响。

数年以来一直有传言称 Sun 将成为被收购的对象,但是根据《华尔街日报》文章所提供的信息来看,这次的传言恐怕将变成现实。不过该文章同时也指出,这种重量级交易可能会面临一些障碍,例如反垄断审查和股东认可等。

多数人认为,包括 Java 在内的软件不会对这个传闻交易有什么重大影响。很多业内人士表示,IBM 和 Sun 在软件业务上有非常大的重叠,因此软件不是促成该交易的关键所在。然而,对于我们这些活跃于 Java 开发社区的人来说,任何收购对 Java 编程语言和平台所带来的影响,都是最让我们感兴趣的事情。

Java 周边系统已经足够强大,即使 Sun 真的被收购,在数年之内,围绕 Java 建立起来的一切仍将会继续存在。然而,有两件事情毫无疑问,Sun 依然 会对 Java 语言和 Java 平台的方向具有重大的影响,而这个方向同时难以避免会受到收购 Sun 公司的影响。过去,IBM 对 Java 领域的贡献非常大,例 如它开源了 Eclipse; 具有 WebShere 应用服务器等商用产品;积极参与 Java 标准制定 JCP; 另外它还对 DevelopWorks 等文献网站具有重大贡献。

尽管 Sun 公司被收购对整体 Java 编程语言和平台方向可能带来的变化非常细微,但其对 Java 中的特定部分和特定 Java 相关产品所带来的影响却会非 常明显。在我看来,其中三个产品的未来让我感到非常有趣,即 NetBeans、GlassFish 和 JavaFX。另外,它对 JavaOne 和 Java SE 7 的影响,也让我感到非常好奇。

NetBeans IDEas 有几个功能让我非常喜欢,包括它的支持 JavaScript 和 Ruby,它的集成 GlassFish,以及它的 Swing GUI Builder。同时它让我非常欣赏的一点是,开发者需要一个开源免费的 Java IDE。鉴于 IBM 在 Eclipse IDE 中的重要身份,以及 Eclipse 和 NetBeans 之间的争斗,我们不得不感到迷茫的一个问题是,如果 IBM 收购了 Sun 公司,NetBeans 的近期及长远命运将会如何。尽管 NetBeans 是一个开源项目,来自 Sun 员工的影响和开发对其还是具有重要作用的。这意味着,尽管 NetBeans 项 目仍然会继续存在下去,但由于未来没有了财力支持,它恐怕难以再像近几年一样如此迅速的发展。

我非常喜欢使用 GlassFish 应用服务器, 因为它可以最早的让用户体验 Java 企业版的最新功能,而且它的安装和使用相对比较简单。由于 IBM 已经在 WebSphere 中拥有了自己的商用应用服务 器,它是否还会投入极大的热情来继续投入开发一个自己产品的开源替代者,这一点值得怀疑。与 NetBeans 一样,这个项目可能被分化,但是它也面临着相 同的风险:缺乏推动者,支持力度下降,以及新功能推出的延缓。

原文地址:IBM and Sun:Future of GlassFish,NetBeans,and JavaFX


原文链接: http://blog.csdn.net/vanessa219/article/details/4010726

IDEA通过Maven打包JavaFX工程(OpenJFX11)

IDEA通过Maven打包JavaFX工程(OpenJFX11)

1 概述

最近研究JFX,写出来了但是打包不了,这。。。尴尬。。。

IDEA的文档说只支持Java8打成jar包:

在这里插入图片描述

尝试过直接使用Maven插件的package,不行,也尝试过Build Artifacts,也不行,各种奇奇怪怪的问题。包括下图中的

Error....fx:deploy is not available in this JDK

不过幸好文档末尾提到可以使用一些第三方工具:

在这里插入图片描述

因此记录一下使用IDEA打包JFX11工程的过程。

2 环境

  • IDEA 2020.1
  • OpenJDK 11
  • OpenJFX 11

只需安装IDEA与JDK即可,JFX可以在pom.xml中引入。

3 创建工程

选择Maven,选择Create from archetype,然后Add Archetype并填上GroupId:

org.openjfx

与ArtifactId:

javafx-maven-archetypes

还有version:

0.0.1

在这里插入图片描述

下一步自定义,这里为了方便就直接默认了。

在这里插入图片描述

然后修改archetypeArtifactId为

javafx-archetype-fxml

在这里插入图片描述

完成即可。

4 检查文件

Maven同步完后,检查项目目录下的module-info.java与pom.xml,其中pom.xml不应该是下图这样的:

在这里插入图片描述

而应该是这样的,包含了javafx.controls与javafx.fxml依赖,还有javafx-maven-plugin插件:

在这里插入图片描述

同时src下的module-info.java应该长这样:

在这里插入图片描述

module-info.java包含了所需要的javafx.controls与javafx.fxml这两个模块。

5 修改插件依赖

默认的javafx-maven-plugin版本应该为0.0.1:

在这里插入图片描述

整个去掉,修改为:

<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.4</version>
    <configuration>
        <stripDebug>true</stripDebug>
        <compress>2</compress>
        <noHeaderFiles>true</noHeaderFiles>
        <noManPages>true</noManPages>
        <launcher>launcher</launcher>
        <jlinkImageName>output</jlinkImageName>
        <jlinkZipName>outputzip</jlinkZipName>
        <mainClass>org.openjfx.App</mainClass>
    </configuration>
</plugin>

其中launcher为可执行文件名,jlinkImageName为Image输出目录名,jlinkZipName为zip文件名,mainClass为主类。

6 运行并打包

从右侧栏的Maven通过javafx插件运行并打包:

在这里插入图片描述

在这里插入图片描述

7 测试

根据修改插件时的目录,进入对应的target下的子目录直接运行即可:

项目目录/target/output/bin/launcher

注意这个是跨平台的,只需具备JDK11环境即可,发布只需要把zip文件发布。

8 demo

  • github

  • 码云

9 扩展阅读

这篇文章是OpenJFX的文档,主要介绍了:

  • 通过三种方式(JFX+Maven+Gradle)运行Hello World
  • 构建运行镜像(CLI+Maven+Gradle+自定义镜像)
  • IntelliJ/NetBeans/Eclipse通过三种方式(IDE自身+Maven+Gradle)运行与打包JFX

链接戳这里。

java – NetBeans 6.9.x的度量标准

java – NetBeans 6.9.x的度量标准

我已经成为 Java开发的狂热 Eclipse用户了一段时间,但是最近我开始喜欢使用NetBeans 6.9.1进行开发,这要归功于更快的(IMHO)代码完成以及强大的模板和重构工具.

无论如何,我缺少的一件事是分析我的代码的度量标准的一些工具.我找到了一个Eclipse插件,它给了我无数的信息,从TLOC到Cyclomatic Complexity和一个覆盖方法计数器.

任何人都可以推荐NetBeans 6.9.1的WORKING指标工具吗?我找到的那个(Simple Metrics和RefactorIT)不再维护,甚至不会作为模块安装在当前的NetBeans平台上.

到目前为止,我在谷歌上找到的所有项目都是旧的,未维护的项目,从2005年开始……

谢谢!

解决方法

好问题…

你测试了插件“简单代码指标”吗?:
http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=9494

java – Netbeans&Maven:不同的编译行为

java – Netbeans&Maven:不同的编译行为

我正在使用Netbeans和Maven项目.
在某些情况下,Netbeans向我展示编译失败(红色气球)但Maven编译所有内容没有任何问题!

造成这种差异的原因是什么?
我已经检查过两者都使用相同的JDK版本.

解决方法

一个可能的原因可能是您没有在net beans类路径中添加所需的jar.但是jar正在你的maven pom.xml中列出

今天关于JavaFX 2.0 + NetBeans + Maven的介绍到此结束,谢谢您的阅读,有关IBM 收购 Sun 对 Glassfish、NetBeans 和 JavaFX 未来的影响、IDEA通过Maven打包JavaFX工程(OpenJFX11)、java – NetBeans 6.9.x的度量标准、java – Netbeans&Maven:不同的编译行为等更多相关知识的信息可以在本站进行查询。

本文标签: