Я сделал Java-проект. Это .... сообщение журнала вывода и сообщение system.out.println. Просто. Итак, я превратился в файл jar (имя - LinuxSample.jar). и я написал сценарий оболочки для запуска этого файла jar. Посмотрите на этот сценарий оболочки. (Speakee - это имя пакета, а PrintLinux - имя основного класса)
#!bin/bash
CLASSPATH=/home/tangooc/TANGOOC/test/libs/*
CLASSPATH = "${CLASSPATH};/home/tangooc/TANGOOC/test/linux/LinuxSample.jar"
java speakee.PrintLinux
этот файл jar и этот сценарий оболочки работают в Window. но Linux не работал. Я не знаю почему
это сообщение об ошибке.
Could not find or load main class
Разве обычный способ выполнения java-архивов jar не использовать переключатель -jar в командной строке? Так что просто что-то вроде java -jar LinuxSample.jar ...
@Arun Да, это основной метод, и он уже скомпилирован
@arkascha Я добавил предложение (java -jar LinuxSample.jar) в сценарий оболочки. но это не сработало, и сообщение об ошибке ---> (Ошибка: невозможно получить доступ к jarfile LinuxSample.jar) Я думаю, что этой банке нужна библиотека. но я уже добавил библиотеку CLASSPATH ... гул .. ,,,,
Похоже, у вас проблема с путем, поэтому вы указали только имя файла, но ваш текущий рабочий каталог находится в другой папке. Попробуйте использовать полный абсолютный путь или измените рабочий каталог в своем скрипте.
Укажите полный путь к основному классу
@Arun /home/tangooc/TANGOOC/test/linux/LinuxSample.jar (основной метод PrintLinux в пакете speakee)
попробуйте это: java -jar <ваш полный путь> /yourJar.jar
Команда java -jar игнорирует следующие команды. в любом случае я сделал это !! Я написал решение, рекомендую




Привет. Лучший способ запустить Java-приложение - сначала установить переменные CLASS_PATH и PATH. Если ваш текущий файл jar зависит от внешних файлов jar, вы столкнетесь с множеством проблем. Лучше установите переменную пути, как показано ниже, и запустите приложение: -
#!/usr/bin/ksh
export PATH=/usr/java/bin:$PATH
# =/usr/java/bin is your java bin folder
#set environment variable CP with all the jar libraries
CP=/home/flussi/xmlEncoder/encoder.jar
CP=${CP}:/other/jar/somejar.jar
java -Xmx256M -classpath "$CP" "com.myproj.Example"
Спасибо за ваш комментарий, но он по-прежнему не работает и выводит сообщение об ошибке ---> Не удалось найти или загрузить основной класс speakee.PrintLinux
я сделал это Я изменил сценарий оболочки.
CLASSPATH=/home/tangooc/TANGOOC/test/client/LinuxSample.jar
LIB_TOTAL=/home/tangooc/TANGOOC/test/libs/*
echo ${LIB_TOTAL}
echo ${CLASSPATH}
java -cp ${LIB_TOTAL}:${CLASSPATH} speakee.PrintLinux
также есть другой способ.
CLASSPATH=/home/tangooc/TANGOOC/test/client/LinuxSample.jar
CLASSPATH=${CLASSPATH}:/home/tangooc/TANGOOC/test/libs/*
echo ${CLASSPATH}
java -cp ${CLASSPATH} speakee.PrintLinux
Если кто-то вроде меня изменит сценарий оболочки. и проверьте строку, строку, строку ...
Could not find or load main class-> есть ли у класса основной метод? этоpublic static? класс скомпилирован?