You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaFX项目命令行编译报错:找不到CoreFramework包求解决

命令行编译JavaFX项目并生成JAR文件的解决方案

问题背景

我是JavaFX新手,项目结构如下:

<MyCompany-App>
     <src>
        <CoreUtils>
           Constants.java
           Constants2.java
        <CoreFramework>
           VersionControl.java
           Utils.java
        <MyCompanyApp>
           Main.java
           LaunchLogin.java
        <Logging>
           Logging.java
        <Utils>
           DBcon.java
     <lib>
        javafx.controls.jar
        javafx.fxml.jar
        javafx.web.jar

lib目录还包含其他所有第三方依赖jar包。该项目可通过IntelliJ IDE正常编译生成JAR文件,但尝试用以下命令行编译时:

$javac --module-path "<Path to project>\lib" --add-modules javafx.controls,javafx.fxml "<Path to Project>\LaunchLogin.java"

出现错误:

error: package CoreFramework does not exist
import CoreFramework.Utils;

LaunchLogin.java中的部分代码如下:

package MyCompanyApp;

import CoreFramework.VersionControl;
import CoreFramework.Constants;
import CoreFramework.Localization;
import CoreFramework.Utils;

解决方案

1. 编译所有Java源文件

单独编译LaunchLogin.java时,javac无法找到CoreFramework等自定义包的源文件,需要指定整个源目录并设置输出目录来编译所有文件:

# 进入项目根目录<MyCompany-App>
cd "<Path to project>\MyCompany-App"

# 编译所有src下的Java文件,将class文件输出到out目录
javac --module-path lib --add-modules javafx.controls,javafx.fxml -d out -sourcepath src src/**/*.java
  • -d out:指定编译后的class文件输出到out目录
  • -sourcepath src:告诉javac源文件的根目录,确保能找到所有自定义包(CoreFramework、CoreUtils等)
  • 若你的shell不支持**通配符,可逐个指定源文件路径:src/CoreUtils/*.java src/CoreFramework/*.java src/MyCompanyApp/*.java src/Logging/*.java src/Utils/*.java

2. 生成可执行JAR文件

编译完成后,使用jar命令打包class文件,同时指定项目主类:

# 进入编译输出目录out
cd out

# 生成JAR文件,指定主类并打包所有class文件
jar cvfe ../MyCompanyApp.jar MyCompanyApp.LaunchLogin *
  • cvfe:c(创建新JAR)、v(输出打包详情)、f(指定JAR文件名)、e(指定主类)
  • ../MyCompanyApp.jar:将生成的JAR文件放到项目根目录
  • MyCompanyApp.LaunchLogin:替换为你项目实际的主类(若主类是Main则改为MyCompanyApp.Main)
  • *:打包out目录下所有class文件和子目录

3. 运行生成的JAR文件

若要运行该JAR,需指定JavaFX的模块路径:

java --module-path "<Path to project>\lib" --add-modules javafx.controls,javafx.fxml -jar "<Path to project>\MyCompanyApp.jar"

内容的提问来源于stack exchange,提问作者Satish Kamuju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:37:16