怎么免费做个人网站云电脑免费版永久使用

news/2025/9/22 22:11:30/文章来源:
怎么免费做个人网站,云电脑免费版永久使用,wordpress恢复密码,前端转行可以找啥工作前言 在当前多元化开发环境下#xff0c;Java作为一种广泛应用的编程语言#xff0c;其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱#xff0c;而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而#xff…前言 在当前多元化开发环境下Java作为一种广泛应用的编程语言其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而将Spring Boot后端服务与JavaFX前端界面整合并实现高效部署对许多开发者来说是一项挑战。 GraalVM的出现恰好解决了这一难题。作为Oracle公司推出的一款高性能运行时环境它支持多种语言运行并能将Java应用编译为原生可执行文件从而大大提升了应用的启动速度和资源利用率。通过利用GraalVM的原生镜像生成工具Substrate VM我们可以将Spring Boot应用与JavaFX项目无缝集成并将其打包为独立的、跨平台的可执行程序。 本教程将深入浅出地为您介绍如何详细安装GraalVM以及如何在此基础上将普通的Java项目进行打包以实现高效便捷的应用部署。我们将逐步解析操作步骤助您掌握这一技术提升项目的部署效率和用户体验。 1. 环境搭建 上一篇:GraalVM详细安装及打包springboot、java、javafx使用教程(打包普通JAVA项目篇) 2.项目搭建 1.新建java项目 idea–file—new—project填写好相关信息,选择JDK17 2.完整项目结构 3.导入依赖文件 propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingjava.version17/java.versionmaven.compiler.source${java.version}/maven.compiler.sourcemaven.compiler.target${java.version}/maven.compiler.targetjavafx.version17.0.2/javafx.versionjavafx.staticSdk.version21-ea5/javafx.staticSdk.versiongluonfx-maven-plugin.version1.0.18/gluonfx-maven-plugin.versionstart-classcom.star.graalvm.AppStart/start-class/properties依赖 dependenciesdependencygroupIdorg.openjfx/groupIdartifactIdjavafx-controls/artifactIdversion${javafx.version}/version/dependencydependencygroupIdorg.openjfx/groupIdartifactIdjavafx-fxml/artifactIdversion${javafx.version}/version/dependencydependencygroupIdorg.openjfx/groupIdartifactIdjavafx-media/artifactIdversion${javafx.version}/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependency/dependencies导入编译打包插件 buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationrelease${java.version}/release/configuration/pluginplugingroupIdorg.openjfx/groupIdartifactIdjavafx-maven-plugin/artifactIdversion0.0.8/versionconfigurationmainClass${start-class}/mainClass/configuration/pluginplugingroupIdcom.gluonhq/groupIdartifactIdgluonfx-maven-plugin/artifactIdversion${gluonfx-maven-plugin.version}/versionconfiguration!--运行主类--mainClass${start-class}/mainClass!--Java11 静态库的版本Default: 11-ea10--!--javaStaticSdkVersion11-ea10/javaStaticSdkVersion--!--Java17 静态库的版本21-ea5 --javafxStaticSdkVersion${javafx.staticSdk.version}/javafxStaticSdkVersion!-- 允许的资源文件后缀 --resourcesListlist.*\\.properties$/listlist.*\\.yml$/listlist.*\\.dll/list/resourcesList!-- 涉及反射的类 --reflectionListlistcom.star.graalvm.App/listlistcom.star.graalvm.control.HomeControl/list/reflectionListnativeImageArgs!-- “快速构建”模式以减少在开发过程中生成本机可执行文件所需的时间。请注意此模式可能会对峰值性能和生成的可执行文件的大小产生负面影响因此建议仅用于开发目的。 --arg--add-exportsorg.graalvm.nativeimage.builder/com.oracle.svm.core.jdkALL-UNNAMED/arg/nativeImageArgsreleaseConfiguration!-- all targets --!--packageType/packageType--descriptiongraalvm-javafx/descriptionvendorshin/vendorversion${version}/version/releaseConfigurationruntimeArgsarg-Dfile.encodingUTF-8/arg/runtimeArgs/configurationexecutionsexecutiongoalsgoalbuild/goal/goalsphasepackage/phase/execution/executions/plugin/plugins/build4.新建java类 1.启动类 package com.star.graalvm;import com.star.graalvm.conf.AppConfig; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.stage.Screen; import javafx.stage.Stage;import java.util.regex.Pattern;/*** create 2023-09* author lstar* description: 主程序*/ public class App extends Application {public static void main(String[] args) {// 解决Linux上编译为native-image时运行错误String osName System.getProperty(os.name, );if (Pattern.matches(Linux.*, osName)) {System.setProperty(prism.forceGPU, true);}AppConfig.init();launch(args);}Overridepublic void init() throws Exception {super.init();// 设置系统屏幕缩放比例try {var scaleX Screen.getScreens().get(0).getOutputScaleX();System.setProperty(glass.win.uiScale, String.valueOf(scaleX));} catch (Exception ignored) {System.setProperty(glass.win.uiScale, 1.0);}}Overridepublic void start(Stage primaryStage) throws Exception {// 加载并创建主场景Parent root FXMLLoader.load(getClass().getResource(/fxml/Home.fxml));Scene scene new Scene(root, AppConfig.stageWidth, AppConfig.stageHeight);// 设置窗口信息primaryStage.setTitle(AppConfig.title);primaryStage.setResizable(AppConfig.stageResizable);primaryStage.getIcons().add(new Image(App.class.getResourceAsStream(AppConfig.icon)));primaryStage.setScene(scene);primaryStage.show();}Overridepublic void stop() throws Exception {System.out.println(stop);super.stop();} } java11以上已经移除了javafx相关组件之前运行启动类是无法运行的 package com.star.graalvm;import javafx.application.Application;/*** create 2023-09* author lstar* description: 启动类*/ public class AppStart {public static void main( String[] args ){Application.launch(App.class);} } 2.视图控制类 package com.star.graalvm.control;import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; import javafx.stage.FileChooser; import javafx.stage.Window;import java.io.File; import java.util.Arrays;/*** create 2023-09* author lstar* description: 视图控制类*/ public class HomeControl {FXMLpublic Button alterBtn;FXMLpublic Button fileBtn;FXMLpublic TextField fileText;FXMLpublic AnchorPane rootPane;FXMLpublic ImageView imgView;FXMLpublic void initialize() {System.out.println(init);}/*** 文件按钮单击事件*/FXMLpublic void fileBtnClick(MouseEvent actionEvent) {Window window rootPane.getScene().getWindow();FileChooser fc new FileChooser();//设置选择框的左上角标题fc.setTitle(单文件选择);//设置文件初始化打开路径fc.setInitialDirectory(new File(D: File.separator));//设置文件的选择类型fc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter(图片类型, *.jpg, *.png, *.gif),new FileChooser.ExtensionFilter(文本类型, *.txt, *.java, *.doc, *.docx, *.xlx, *.xlsx, *.fxml),new FileChooser.ExtensionFilter(所有类型, *.*));//文件显示框 选择的文件返回一个fileFile file fc.showOpenDialog(window);String fileName file null ? : file.getName();String fileAbsolutePath file null ? : file.getAbsolutePath();if (file ! null) {fileText.setText(文件名: fileName 文件路径: fileAbsolutePath);if(isImageFile(file)){imgView.setImage(new Image(fileAbsolutePath));}}}/*** 判断文件后缀* param file* return*/public static boolean isImageFile(File file) {if (file null || !file.exists()) {return false;}String fileName file.getName();int dotIndex fileName.lastIndexOf(.);if (dotIndex 0 || dotIndex fileName.length() - 1) {// 没有后缀名或者点在文件名末尾都不是图片return false;}String extension fileName.substring(dotIndex 1).toLowerCase(); // 获取小写后缀名return Arrays.asList(jpg, jpeg, png, gif).contains(extension);}/*** 弹出框按钮单击事件*/FXMLpublic void alterBtnClick(MouseEvent actionEvent) {String javaVersion System.getProperty(java.version);String javafxVersion System.getProperty(javafx.version);Alert alert new Alert(Alert.AlertType.INFORMATION);alert.setHeaderText(Hello Graalvm);alert.setContentText(Hello, JavaFX javafxVersion , running on Java javaVersion .);alert.show();}} 3. 应用配置类 package com.star.graalvm.conf;import com.star.graalvm.App;import java.io.IOException; import java.io.InputStream; import java.util.Properties;/*** create 2023-09* author lstar* description: 应用配置文件*/ public class AppConfig {/*** 应用标题*/public static String title JavaFx Test Application;/*** 应用图标*/public static String icon /icon/icon.png;/*** 窗口宽度*/public static int stageWidth 600;/*** 窗口高度*/public static int stageHeight 600;/*** 允许调整窗口尺寸*/public static boolean stageResizable true;public static void init() {try {Properties properties new Properties();InputStream in App.class.getResourceAsStream(app.properties);properties.load(in);title properties.getProperty(title);icon properties.getProperty(icon);stageWidth Integer.parseInt(properties.getProperty(stage.width));stageHeight Integer.parseInt(properties.getProperty(stage.height));stageResizable Boolean.parseBoolean(properties.getProperty(stage.resizable));} catch (IOException e) {e.printStackTrace();}}} app.properties 属性配置文件放在resources目录下 titleGraalVM JavaFx Test Application iconicon/icon.png stage.width600 stage.height600 stage.resizabletrue4.Home.fxml文件 ?xml version1.0 encodingUTF-8??import javafx.scene.control.*? ?import javafx.scene.image.*? ?import javafx.scene.layout.*?AnchorPane fx:idrootPane maxHeight-Infinity maxWidth-Infinity minHeight-Infinity minWidth-Infinity prefHeight600.0 prefWidth600.0 stylesheets../css/Home.css xmlnshttp://javafx.com/javafx/17.0.2-ea xmlns:fxhttp://javafx.com/fxml/1 fx:controllercom.star.graalvm.control.HomeControlchildrenButton fx:idalterBtn layoutX74.0 layoutY112.0 mnemonicParsingfalse onMouseClicked#alterBtnClick prefHeight28.0 prefWidth68.0 text弹窗 /Button fx:idfileBtn layoutX441.0 layoutY112.0 mnemonicParsingfalse onMouseClicked#fileBtnClick prefHeight28.0 prefWidth68.0 text文件选择 /TextField fx:idfileText layoutX86.0 layoutY170.0 prefHeight43.0 prefWidth429.0 promptText文件地址 /ImageView fx:idimgView fitHeight290.0 fitWidth429.0 layoutX89.0 layoutY242.0 pickOnBoundstrue preserveRatiotrue //children /AnchorPane 5.css文件 #rootPane{/*背景颜色*/-fx-background-color: #b6e3c1; }5.示例代码 giteegithub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业网站建设研究目的意义江西人才招聘网官网

背景: 最近做的一个项目中,对于word转Pdf用的地方很多,特此记录 搭建总图: 代码部分: 1.需要的jar包: aspose-words-15.8.0-jdk16.jar 注:下载好这个jar包后,在项目的根目录新建一…

网上商城网站模板网站导航栏效果

类似Oracle的客户端工具sqlplus,Mysql的客户端工具mysql,SinoDB数据库也有自带的命令行客户端工具dbaccess。 dbaccess 识别用户输入,将用户输入的 SQL 语句打包发送给 SinoDB 数据库服务器执行,然后接收服务器的执行结果&#xf…

CCPC online 2025题解 ( A~H+K)

没代码的就是队友写的,只提供思路 E 签到题,首先可以算出两人胜利的场次数,答案就是较小的那个*2+1 K 找规律题,打个表可以发现输出 \(n\) 到 \(1\) 即可 A 签到题,枚举每种正方形的边对应的向量,则能构成该种正…

Java REST API 三层架构项目目录规划与使用建议

Java REST API 三层架构项目目录规划与使用建议2025-09-22 22:07 曾左 阅读(0) 评论(0) 收藏 举报一. 背景介绍 当前,我们使用 Spring Boot + Mybatis + Maven 技术栈,按照微服务设计的要求(小而自治)开发 Jav…

典型的四大综合门户网站为食堂写个网站建设

From: http://www.51testing.com/html/44/17144-18146.html 1. 基本概念 实时传输协议(RTP,Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议。传送音视频数据通常都会采用基于UDP的RTP传输,RTP为数…

网站开发看什么书汕头seo专家

场景 NameNode迁移,导致一个节点无法启动 异常 在Namenode主动迁移,或者Namenode机器挂掉无法恢复时,我们需要Namenode节点迁移,迁移经常会出现一个NameNode启动成功,另外一个standby启动失败,报错如下 …

网站建设内链免费装修设计网

风丘科技将首次亮相 EVM ASIA 2023 WINDHILL will debut EVM ASIA 2023 ——可持续移动的未来 —The Future of SUSTAINABLE Mobility EVM ASIA 2023是亚太地区电气化的国际性展会,专注于新能源汽车、充电技术及汽车零件制造等。展会致力于促进包括充电站、交通…

网站内容建设 内容审核流程装修公司网站建设的意义

一、源码特点 asp.net特色商品购物网站系统 是一套完善的web设计管理系统,系统采用mvc模式(BLLDALENTITY)系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 vs2010,数据库为sqlserver2008&a…

江苏扬州建设局网站网站建设制作好评语

淘宝/天猫获得淘宝商品详情 API 返回值说明 item_get-获得淘宝商品详情 API测试工具 taobao.item_get 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括…

国内有做外汇的正规网站吗关键词排名推广

java.util.concurrent.locks.Lock 接口是Java并发包中的一部分,它提供了比内置锁(即 synchronized 关键字)更灵活和强大的锁机制。通过使用 Lock 接口及其相关实现类,开发者可以获得更多的功能选项来控制线程间的同步行为&#xf…

如何选择网站开发公司做电影网站多少钱

前言 使用 API 网关作为内部服务面向客户端的单一入口,是一种普遍采用的架构模式。企业组织通过良好定义的 API 将内部系统向内部和外部用户公开,通常都会采用 API 网关来处理横向的关注点,包括访问控制、速率限制、负载均衡等等&#xff0c…

活动策划案怎么写网站优化排名易下拉技术

线程属于某一个进程 共同点:都能并发 线程共享变量,进程不共享。 多线程任务中,其中某一个线程调用了exit了,其他线程会跟着一起退出 如果是特定的线程就调用pthread_exit 失败返回的是错误号 下面也是

2025.9.22总结 - A

今天满课,上午是建模和数据结构,主要讲的还是基础,还有对UML的理解,下午Java,学到了,解决问题的,复杂问题简单化,简单问题流程化的思想,在解决问题时的分类转化思想,让问题更加简单,解决更加高效。

实用指南:GESP三级考纲+三级考试知识点详解

实用指南:GESP三级考纲+三级考试知识点详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

github操作备忘录

如何使用github1、创建repository在github上创建新的repository2、本地安装Git3、本地全局配置打开git-bash.exe,配置所有Git仓库的用户名和邮箱git config –global user.name "???" git config –glob…

流媒体网站建设规划镇江网站建设机构

Harbor基本介绍 1、Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,Harbor 是一个企业级的 Docker 私有仓库项目。 2、Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/L…

php 怎么做 网站 图片学校网站建设运行简介

用Maven install 对父工程安装到本地仓库

可以做ppt的网站有哪些内容河南省城乡建设厅官网

1.API 1.1API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这…

网站建设捌金手指下拉二七冷水滩网站建设

文章主题:有序序列合并🔥🔥🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的…

熟练掌握网站开发技术网站开发经验

来源:之江实验室、仿生深海软体机器人项目组、浙江大学▍适应万米静水压的软体机器人由于极端的静水压力,深海区域人们基本很难探测。位于西太平洋的马里亚纳海沟是已知的海洋最深处,水压高、温度低、完全黑暗,被称为“地球第四极…