栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 无法执行jar

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 无法执行jar

首先,看到你跑步

java -jar "app"
而不是跑步有点奇怪
java -jar app.jar

其次,要使

jar
可执行文件,你需要将一个名为
meta-INF / MANIFEST.MF
的文件打包

文件本身应该(至少)具有此衬纸:

Main-Class: com.mypackage.MyClass

com.mypackage.MyClass
该类在哪里保存公共静态void main(String [] args)入口点。

请注意,使用

CLI,Maven,Ant
或Gradle有几种方法可以完成此操作:

对于CLI,将执行以下命令:

(tks @ dvvrt)

jar cmvf meta-INF/MANIFEST.MF <new-jar-filename>.jar  <files to include>

对于Maven来说,下面的代码片段应该可以解决问题。请注意,这只是插件定义,而不是完整的pom.xml:

<build>  <plugins>    <plugin>      <!-- Build an executable JAR -->      <groupId>org.apache.maven.plugins</groupId>      <artifactId>maven-jar-plugin</artifactId>      <version>3.1.0</version>      <configuration>        <archive>          <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.mypackage.MyClass</mainClass>          </manifest>        </archive>      </configuration>    </plugin>  </plugins></build>

(选择一个

<version>
适合你的项目的对象。)

对于Ant,以下代码片段应有所帮助:

<jar destfile="build/main/checksites.jar">  <fileset dir="build/main/classes"/>  <zipfileset includes="**/*.class" src="lib/main/some.jar"/>  <manifest>    <attribute name="Main-Class" value="com.acme.checksites.Main"/>  </manifest></jar>

积分Michael Niemand-

对于Gradle:

plugins {    id 'java'}jar {    manifest {        attributes(     'Main-Class': 'com.mypackage.MyClass'        )    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380669.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号