无法从命令行执行JAR文件中的Java应用程序求助
解决Maven构建JAR无法通过命令行执行的问题
第一步:确认JAR文件的实际位置
你提到mvn clean package后target目录生成了组件,但命令里直接在项目根目录查找JAR,而Maven默认会把打包好的JAR放在target子目录下。先通过DOS命令验证:
- 切换到项目根目录:
cd C:\Users\tclotworthy\Iamus\satelliteProj\paging-mission-control - 查看target目录下的文件:
如果找不到dir targetpaging-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
相关产品推荐
相关产品推荐

