Javac не может найти импорт
У меня проблемы с компиляцией файла с помощью javac.
Моя команда для компиляции:
C:\Work>javac -classpath "%CLASSPATH%;C:\Users\Me\Downloads\asm-4.1-bin\asm-4.1\src" wDump.java
Результаты в:
wDump.java:3: error: package org.objectweb.asm.attrs does not exist
import org.objectweb.asm.attrs.*;
^
1 error
Этот пакет наверняка существует. Он находится в том же дереве каталогов, что и все остальные импорты ASM. attrs - это пустой пакет, содержащий один HTML-документ.
Файл wDump.java также содержит
import org.objectweb.asm.*;
Который найден компилятором без проблем.
Если я закомментирую проблему импорта (org.objectweb.asm.attrs.*), Файл будет успешно скомпилирован. Следует также отметить, что компилятор Eclipse успешно компилирует этот файл.
3 ответа
Используйте следующее:
javac \
-sourcepath src \
-your_jar_path/your.jar:. \
your_class_path/your.java \
-d classes
Если ваш код компилируется при комментировании import
линия, тогда вам это не нужно и вы можете удалить его.
Если вы хотите использовать его, проверьте, что attrs
правильное название пакета, так как кажется, что import org.objectweb.asm.*;
работает. И проверь это attrs
фактически является пакетом, и эта папка физически существует внутри asm
папка. Вы также можете проверить, что файлы классов присутствуют внутри attrs
папка.
attrs
папка в asm
Исходный почтовый индекс содержит только HTML-страницу без какого-либо класса внутри. Попробуйте удалить эту папку (вы можете сохранить ее ранее в другом каталоге, если вы не уверены) и сгенерировать снова imports
сквозь ASMifier
инструмент. Если папка не существует, возможно, инструмент не сгенерирует импорт автоматически.
Для вашей информации, вы не должны использовать внешний исходный код для компиляции вашего кода, кроме случаев, когда вы изменяете эти внешние источники. Вместо этого используйте файлы jar, добавленные в ваш путь к классам, для компиляции вашего кода. В файле jar asm-all-4.1 нет папки attrs.