JAVAfX打包后无法使用Java -jar 运行 报错缺少javafx 依赖或者组件

这里使用的maven 项目,但是使用的是springboot 的打包插件进行打包  spingboot 版本不能为>= 3  直接上代码 

 <build>
    <plugins>
      <!-- Spring Boot Maven Plugin -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.4.5</version>
        <configuration>
          <includeSystemScope>true</includeSystemScope>
          <mainClass>com.itkoukou.ToolApp</mainClass>
          <layout>ZIP</layout>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- Maven Resources Plugin -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/classes</outputDirectory>
              <resources>
                <resource>
                  <directory>${project.basedir}/src/main/resources</directory>
                  <filtering>false</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>

 依赖中安装

<dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.2.0</version>
    </dependency>

最终打包后将jar移动到其他目录下进行java -jar 测试,可以运行说明打包合适,至于原理,我也不知道,试出来的

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果您已经在`module-info.java`文件中声明了JavaFX依赖关系,但仍然无法运行JavaFX应用程序,并提示缺少JavaFX运行组件,那么您可能需要在运行时添加JavaFX模块路径和模块名称。 在Java 9及以上版本中,您需要在运行JavaFX应用程序时指定JavaFX模块路径和模块名称。可以通过以下方式完成: ```bash java --module-path /path/to/javafx/libraries --add-modules javafx.controls,javafx.fxml,javafx.web -jar your-application.jar ``` 其中,`/path/to/javafx/libraries`是您的JavaFX库的路径,`your-application.jar`是您的应用程序的JAR文件。请注意,`--add-modules`选项后面列出了您在`module-info.java`文件中声明的JavaFX模块名称,如果您使用了其他JavaFX模块,也需要在此处添加。 如果您使用的是Maven构建JavaFX应用程序,则可以使用`maven-javafx-plugin`插件来自动配置JavaFX模块路径和模块名称,例如: ```xml <build> <plugins> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <executions> <execution> <id>default-cli</id> <configuration> <mainClass>com.example.YourMainClass</mainClass> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 在这个示例中,`javafx-maven-plugin`插件会自动配置JavaFX模块路径和模块名称,并指定您的应用程序的主类。您只需要使用`mvn javafx:run`命令来运行您的JavaFX应用程序即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LIUUID

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值