通过maven将应用打成jar包之后,可以通过java -jar ***.jar
来执行,会运行指定的main方法,主要是 MANIFEST.MF 中指定的 main 方法;
那么如果有多个main方法的时候如何运行指定的main方法哪,可以通过下面命令去执行:
java -classpath ****.jar ****.****.className [args]
这里的****.****指的是包名;
****.className是类名称;
args指传递进去的参数;
运行jar包
(1)执行的是maven打包之后通过MANIFEST.MF指定main方法java -jar ***.jar
使用maven的话,还可以在pom.xml中添加如下代码来指定main方法:主要是这里面的mainfest代码块;mainClass中指定执行的main方法的包名+类名;
- <build>
- <plugins>
- <plugin>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <classpathPrefix>lib/</classpathPrefix>
- <mainClass>io.test.main.MainOfDiskMount</mainClass>
- </manifest>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
(2)如果没有在MANIFEST.MF中指定,jar中有多个main方法,指定运行某个特定的main方法的命令如下:
java -cp mplus-service-jar-with-dependencies.jar com.smbea.dubbo.bin.Console sss dd