подавляет метасимволы регулярных выражений с помощью []
>>> s
'/?code=authenticationcode'
>>> r=re.compile(r'^/[?]code=(.+)')
>>> m=r.match(s)
>>> m.groups()
('authenticationcode',)
Ваш путь к классу нарушен (что является общей проблемой very в мире Java).
В зависимости от того, как вы запускаете свое приложение, вам нужно пересмотреть аргумент в -cp
, запись в Class-Path в файле MANIFEST.MF или на вашем диске.
Добавьте полный путь к файлу jar в CLASSPATH. В linux используйте: export CLASSPATH=".:/full/path/to/file.jar:$CLASSPATH"
. Другой способ работы (без редактирования CLASSPATH) разворачивал банку в текущей папке проекта.
Для меня не работали:
1) Используя опцию -cp
с полным путь к файлу jar.
2) Используя -cp
только с именем jar, если он находится в текущей папке
3) Копирование флага в текущую папку проекта
4) Копирование банки в стандартное расположение java-банок (/ usr / share / java)
Это решение сообщается для класса com.mysql.jdbc.Driver в mysql-коннекторе -java.5 - *. jar, работающий на Linux с OpenJDK версии 1.7
Я использую maven для моего проекта, и когда я делаю mvn clean install
и пытаюсь запустить программу, он выдает исключение. Итак, я очищаю проект и запускаю его снова, и он работает для меня.
Я использую eclipse IDE.
Для:
Класс не найден Исключение при запуске теста Junit
blockquote>Попробуйте запустить
mvn clean test
, как только он скомпилирует все тестовые классы (работал для меня).
Поместите весь код в блок try, затем поймайте исключение в блоке catch
try
{
// code
}
catch(ClassNotFoundException e1)
{
e1.getmessage();
}
Я пытался запустить .jar из кода C #, используя класс Process
. Код java успешно запускался из eclipse, но не из Visual Studio C # и даже щелкнув непосредственно на файле jar, он всегда останавливается с исключением ClassNotFoundException:
. Решение для моего было экспортировать java-программу как «Runnable JAR-файл» вместо «JAR-файл». Надеюсь, это может помочь кому-то.
Если вы используете maven, попробуйте maven обновить все проекты и заставить моментальные снимки. Он также очистит и перестроит все пути класса. Он решил мою проблему ..
Чтобы добавить местоположение класса в ваш путь к классам через командную строку, просто добавьте -cp
или -classpath
и местоположение класса во время его запуска. IE
java -cp "c:/location/of/file" YourProgram
Или если вы используете IDE, например eclipse, вы можете щелкнуть правой кнопкой мыши по project -> build path -> configure build path
и добавить внешний JAR, содержащий ваш класс, в путь сборки, тогда он должен работать нормально.
Я столкнулся с этим и попробовал все другие решения. У меня не было файла .class в моей папке HTML, у меня был только файл .java. Когда я добавил файл .class, программа работала нормально.
Если вам известен путь класса или jar, содержащий класс, то добавьте его в свой путь к классу во время его запуска. Вы можете использовать путь к классам, как указано здесь:
в Windows
java -classpath .;yourjar.jar YourMainClass
в UNIX / Linux
java -classpath .:yourjar.jar YourMainClass
Я только что сделал
1.Включить тайники и перезагрузить
2. Восстановить мой проект, который решил проблему
Использовать ';' как разделитель. Если переменные среды установлены правильно, вы должны увидеть свои настройки. Если ваши PATH и CLASSPATH верны, окна должны распознавать эти команды. Вам не нужно перезагружать компьютер при установке Java.
Это наилучшее решение , которое я нашел до сих пор.
Предположим, что у нас есть пакет с именем org.mypackage
, содержащий классы:
и файлы, определяющие этот пакет, хранятся физически в каталоге D:\myprogram
(в Windows ) или /home/user/myprogram
(в Linux).
Структура файла будет выглядеть так:
Когда мы вызываем Java, мы указываем имя приложение для запуска: org.mypackage.HelloWorld
. Однако мы также должны сказать Java, где искать файлы и каталоги, определяющие наш пакет. Поэтому для запуска программы мы должны использовать следующую команду:
ПРИМЕЧАНИЕ. Вы должны выполнить вышеуказанную команду
java
, независимо от того, какое ваше текущее местоположение , Но это не относится кjavac
. Для компиляции вы можете даже напрямую перейти в каталог, в котором у вас есть файлы.java
, и напрямую выполнитьjavac ClassName.java
.
Это может произойти в Windows после обновления java, где отсутствует старая версия java SDK и присутствует новый. Я бы проверял, использует ли ваша IDE установленную версию SDK Java (IntelliJ: CTRL + SHIFT + ALT + S)
Путь к классам - это список мест для загрузки классов.
Эти «местоположения» могут быть либо каталогами, либо файлами jar.
Для каталогов JVM будет следовать ожидаемому шаблону для загрузки класса. Если у меня есть каталог C: / myproject / classes в моем пути к классам, и я пытаюсь загрузить класс com.mycompany.Foo, он будет выглядеть под каталогом классов для каталога с именем com, а затем под этим каталогом mycompany и наконец, он будет искать файл с именем Foo.class в этом каталоге.
Во втором случае для файлов jar он будет искать файл jar для этого класса. Файл jar на самом деле представляет собой просто набор каталогов, подобных приведенным выше. Если вы распакуете файл jar, вы получите кучу каталогов и файлов классов по шаблону выше.
Таким образом, JVM просматривает путь класса от начала до конца, ища определение класса при попытке загрузить определение класса. Например, в пути к классам:
C: / myproject / classes; C: /myproject/lib/stuff.jar; C: /myproject/lib/otherstuff.jar
JVM попытается сначала посмотреть в классах каталогов, а затем в stuff.jar и, наконец, в otherstuff.jar.
Когда вы получаете исключение ClassNotFoundException, это означает, что JVM прошел весь путь к классам и не нашел класс вы пытались ссылаться. Решение, как часто в мире Java, состоит в проверке вашего пути к классам.
Вы определяете путь к классам в командной строке, говоря java -cp, а затем ваш путь к классам. В среде IDE, такой как Eclipse, у вас будет опция меню, указывающая ваш путь к классу.
Перейти вверху и удалить оператор импорта, если он есть, и повторно импортировать класс. Но если это не так, сделайте чистую сборку. Вы используете Netbeans или Eclipse?