java  jar命令成功实现  (java培训机构)
本文目录导航:
jar命令成功实现java-jar命令却揭示“没有主清单属性”!
当你成功实现jar包的制造后,或许会遇到一个经常出现的疑问:当你尝试经常使用java -jar命令运转时,却收到没有主清单属性的揭示。
这并不是java工具自身的疑问,而是与你的清单文件()关系。
这个文件在jar包外部,关上它,你会看到一行Main-Class:,其后应该是空的。
你须要在这里指定你的主类。
例如,假设你的源代码是***,编译后生成的主类名为,那么在Main-Class:前面应填写Exec,而后按回车键,确保在主类名前面留有空行,以便让光标移动到下一行。
这样做的目的是让jar包知道应该从哪个类开局口头。
疑问并不在于java的经常使用不便,而是或许在学习环节中对jar包的清单文件性能有所遗漏。
经过明白这些步骤,你就能处置这个疑问,顺利运转你的jar程序。
关键在于了解和把握jar文件的结构和性能,这并不是java工具的疑问,而是团体技艺的一局部。
运转jar包揭示 “XXX中没有主清单属性” “找不到主类”两种处置方法
遇到运转jar包时揭示 XXX中没有主清单属性 或许 找不到主类 这类疑问,理论出如今经常使用maven工具打包后尝试运转jar包时。
这类失误理论是由于jar包外部缺少明白的主类门路所致。
处置这类疑问,重要可以经过以下两种方法启动:第一种处置打算是应用IDEA的内置构建性能,而非间接经常使用maven启动打包。
首先,关上名目设置,新建一个构建指标工件,而后在性能中指定你的主类门路,确保坚持自动性能无需改变,同时记得勾选“提取到指标JAR”选项,以确保生成的jar包能独立运转,无需依赖其余jar包。
保留性能后,经过IDEA顶部菜单栏选用构建按钮,口头构建工件操作,指定刚刚设置的构建指标。
期待构建实现后,可以在out目录下找到生成的jar包,门路与maven构建有所不同。
经常使用这种模式生成的jar包可以间接经过命令行经常使用`java -jar`命令启动运转,防止了失误揭示。
第二种处置打算则是对文件启动修正,以便经常使用maven工具启动打包。
在文件中减少相应的依赖性能,从新构建maven名目,让maven智能实现打包环节。
值得留意的是,无需在中明白指定mainclass,maven会依据性能智能识别并处置。
idea mvn 踩坑 经常使用mvn 打包
最近开局学习springCloud ,在经常使用mvn 打包的环节中出了一个很坑的疑问就是打包成功了然而依赖什么的都没有引入 (我是参与了spring boot mvn plugin),jar包只要几kb ,在网上搜了很多然而都是在说须要引入spring boot mvn plugin 。
于是乎只能自己缓缓找,最终发现我创立的mvn 名目都是比别多了很多物品,比如<pluginManagement>标签 很多人显示的标签里都没有这个 ,之后我再网上找了一下,他人解释说这是父名目用来一致治理子名目经常使用的插件版本,在加载时并不会被援用。
。
。
。
瞬间明白我的spring boot mvn plugin 就是放在这个标签里的。
于是乎我把这个标签给去掉,发现一个可怕的疑问,去不掉, 一去掉mvn 的导报工具就会报错且一切的性能都用不了。
mmp....只要另想方法,这个疑问困扰了我一天。
之后尝试从新创立一个名目,之前创立名目是用的是mvn archetype maven-archetype-quickstart 在idea里他会智能加载 很多插件 例如<pluginManagement> 产生的失误揭示 unresolve ...... 反正觉得都是些不想管的失误很奇异 之后处置的方法是从新创立名目然而不用mvn 的模板 不在援用archtype 就不会产生这样的疑问 点击package 打包成功 口头 java -jar 成功运转不在报无发找到主清单属性,即没有main-class 门路