Я создал JAR-файл, используя инструмент сборки Ant. JAR создан успешно без ошибок компиляции. Когда я запускаю файл JAR, я получаю следующее исключение:
Caused by: java.lang.ClassNotFoundException: leader.Player
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.rmi.server.LoaderHandler$Loader.loadClass(LoaderHandler.java:1207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.rmi.server.LoaderHandler.loadClassForName(LoaderHandler.java:1221)
at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:731)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:674)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:611)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:646)
at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:311)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:265)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1795)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1743)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2037)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(RegistryImpl_Skel.java:135)
... 14 more
Я использовал следующую команду для запуска JAR: java -jar Group6Leader.jar
Это структура моего проекта:
project/
├── Group6Leader.jar
├── build
├── src
├── MANIFEST.MF
└── leader
├── Group6Leader.java
├── Platform.java
├── Player.java
├── PlayerImpl.java
├── PlayerType.java
├── Record.java
└── strategy
├── LinearRegressionStrategy.java
├── RecursiveLeastSquareStrategy.java
└── Strategy.java
Все файлы java имеют правильное имя пакета в верхней части файла. Все классы были созданы мной, и ни один из них не зависит от внешних JAR-файлов.
MANIFEST.MF:
Main-Class: leader.Group6Leader
Не могу понять, почему выдается ошибка ClassNotFoundException: leader.Player
. Все скомпилированные классы присутствуют в файле JAR (см. Встроенный скриншот). Структура файла JAR .
Я попытался добавить аргументы Class-Path, которые указывают на сам JAR, и это не решило проблему.
Чего мне не хватает?