尽管设置了 PATH 和 CLASSPATH,但仍无法执行 jar 文件

2023-12-19

我的问题是关于在路径中包含 jar 文件。它有 2 个部分。

1)我试图执行位于 /home/andy/software/weka/weka.jar 的 weka.jar jar 文件

PATH 变量指向这个 jar 文件(即 /home/andy/software/weka/weka.jar),CLASSPATH 也是如此。

但是,当我尝试使用 java -jar weka.jar 运行 jar 时,出现错误“无法访问 jarfile weka.jar”。

有什么想法吗?我使用的是 Ubuntu Linux。我环顾四周,似乎我没有做任何明显错误的事情(因为 PATH 和 CLASSPATH 似乎都设置正确)。

2)我希望能够将所有 jar 文件放在一个目录中,并将该目录包含在我的路径中(而不是单独包含每个 jar)。我怎样才能做到这一点?

提前致谢。

编辑 1 -> 这是我的命令行

andy@laptop:~$ export CLASSPATH=$CLASSPATH:/home/andy/research/software/weka/weka.jar
andy@laptop:~$ echo $CLASSPATH
:/home/andy/research/software/weka/weka.jar
andy@laptop:~$ java -jar weka.jar
Unable to access jarfile weka.jar
andy@laptop:~$ java weka.jar
Exception in thread "main" java.lang.NoClassDefFoundError: weka/jar
Caused by: java.lang.ClassNotFoundException: weka.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: weka.jar.  Program will exit.
andy@laptop:~$ 

编辑2 - >我更改了PATH变量以指向目录'/home/andy/research/software/weka/'并且仍然得到'无法访问jarfile错误'


1) java的-jar选项禁用CLASSPATH的使用。请看一下设置Weka的CLASSPATH http://weka.wikispaces.com/CLASSPATH

2) 类路径条目可以包含基本名称通配符,这被认为相当于指定目录中扩展名为 .jar 或 .JAR 的所有文件的列表。例如,类路径条目 foo/指定名为 foo 的目录中的所有 JAR 文件。仅由 * 组成的类路径条目将扩展为当前目录中所有 jar 文件的列表。看一下设置类路径|理解类路径通配符 http://download.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管设置了 PATH 和 CLASSPATH,但仍无法执行 jar 文件 的相关文章

随机推荐