java程序 启动时参数

时间:2023-01-18 04:38:22
  java程序 启动时参数java程序 启动时参数
iEMP34:/opt/version/lktest/b030/jre/jre_linux/bin # ./java -classpath .  SysInfo
Exception
in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hyperic.sigar.SigarException
at java.net.URLClassLoader$
1.run(Unknown Source)
at java.net.URLClassLoader$
1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
...
6 more
iEMP34:
/opt/version/lktest/b030/jre/jre_linux/bin # ./java -classpath "." SysInfo
Exception
in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hyperic.sigar.SigarException
at java.net.URLClassLoader$
1.run(Unknown Source)
at java.net.URLClassLoader$
1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
...
6 more
iEMP34:
/opt/version/lktest/b030/jre/jre_linux/bin # ./java -classpath /opt/version/lktest/b030/jre/jre_linux/bin:. SysInfo
Exception
in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hyperic.sigar.SigarException
at java.net.URLClassLoader$
1.run(Unknown Source)
at java.net.URLClassLoader$
1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
...
6 more
iEMP34:
/opt/version/lktest/b030/jre/jre_linux/bin # ./java -classpath /opt/version/lktest/b030/jre/jre_linux/bin/sigar.jar:. SysInfo
no libsigar
-amd64-linux.so in java.library.path
org.hyperic.sigar.SigarException: no libsigar
-amd64-linux.so in java.library.path
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:
172)
at org.hyperic.sigar.Sigar.
<clinit>(Sigar.java:100)
at SysInfo.getCpuCount(SysInfo.java:
39)
at SysInfo.main(SysInfo.java:
25)
Exception
in thread "main" java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Sigar.getCpuInfoList()[Lorg/hyperic/sigar/CpuInfo;
at org.hyperic.sigar.Sigar.getCpuInfoList(Native Method)
at SysInfo.getCpuCount(SysInfo.java:
41)
at SysInfo.main(SysInfo.java:
25)
You have
new mail in /var/mail/root
View Code

 

必须指定具体jar才行吗?

同时注意-cp 和 classpath  是一个意思

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.

 

这样都不行吗:-classpath /opt/version/lktest/b030/jre/jre_linux/bin/ 

———— 看来就是必须指定具体jar,而不能是目录!

 

-D<name>=<value> ----- 这就是相当于设置了system参数,之后可以使用System.getProperty(name)来获取。
set a system property