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

无法从命令行执行JAR文件中的Java应用程序求助

解决Maven构建JAR无法通过命令行执行的问题

第一步:确认JAR文件的实际位置

你提到mvn clean package后target目录生成了组件,但命令里直接在项目根目录查找JAR,而Maven默认会把打包好的JAR放在target子目录下。先通过DOS命令验证:

  1. 切换到项目根目录:
    cd C:\Users\tclotworthy\Iamus\satelliteProj\paging-mission-control
    
  2. 查看target目录下的文件:
    dir target
    
    如果找不到paging-mission-control-1.0-SNAPSHOT.jar,说明Maven构建失败,需要重新执行mvn clean package并查看控制台输出的错误信息,修复构建问题。

第二步:修正命令中的路径格式

DOS shell不支持Unix风格的/c/...路径,且你遗漏了target目录,正确的命令应该是:

  • 使用相对路径(在项目根目录执行):
    java -jar target\paging-mission-control-1.0-SNAPSHOT.jar
    
  • 或者使用完整的Windows绝对路径:
    java -jar C:\Users\tclotworthy\Iamus\satelliteProj\paging-mission-control\target\paging-mission-control-1.0-SNAPSHOT.jar
    

第三步:确保JAR是可执行的

即使JAR存在,若Maven打包时未指定主类,java -jar仍无法正常启动。需要在pom.xml中添加maven-jar-plugin配置,指定包含main方法的类的全限定名:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <!-- 替换为你的主类全限定名,比如 com.example.MyMainClass -->
                        <mainClass>your.package.name.YourMainClass</mainClass>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

配置完成后,重新执行mvn clean package,再尝试用命令启动JAR。

额外排查:权限与文件完整性

  • 若仍提示无法访问JAR,可右键JAR文件,检查「属性」中是否被标记为「锁定」(下载或复制的文件可能会有),勾选「解除锁定」后重试。
  • 确认当前用户对target目录及JAR文件有读取权限,即使使用管理员身份,也可能存在权限限制。

内容的提问来源于stack exchange,提问作者Timothy Clotworthy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 02:52:25