运行javaclass时如何省略包(带jar)

How omit the package when running the java class (with jar)

这是我的问题。

#!/bin/bash
JAVA_HOME=/usr/local/jdk1.8.0_121
CLASSPATH=test.jar

$JAVA_HOME/bin/java -cp $CLASSPATH com.test.job.ExampleJob

# test.jar
#   ㄴ com
#       ㄴ test
#           ㄴ job
#               ExampleJob.class

这个脚本工作正常。但是,我想省略这样的包:

$JAVA_HOME/bin/java -cp $CLASSPATH ExampleJob 
# error

我怎么可以?

Manifest.mf 文件将包含主要-class 信息 - 例如MyJar.jar\META-INF\MANIFEST.MF

Manifest-Version: 1.0
Main-Class: com.mycomp.myproj.dir1.MainClass1
Class-Path: MyJar.jar
MyJar.jar\META-INF\MANIFEST.MF

然后 运行 它与 java -jar MyJar.jar

与您的项目类似,您可以在 Manifest.mf

中配置主 class