Пакет Java не содержит ошибки
Итак, папка /usr/share/stuff
в корневом каталоге
в материалах есть куча java файлов с определениями package org.name
в верхней части
Я запускаю javac test.java
, где test.java
находится в субдомене
Я добавил /usr/share/stuff
в мой путь к классу.
и в верхней части test.java
добавьте import org.name
Но я получаю ошибку package does not exist
... почему?
Ответы
Ответ 1
Являются ли они в правильных подкаталогах?
Если вы поместите /usr/share/stuff
в путь класса, файлы, определенные с помощью package org.name
, должны находиться в /usr/share/stuff/org/name
.
РЕДАКТИРОВАТЬ. Если вы этого еще не знаете, вы должны, вероятно, прочитать следующее: http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding
EDIT 2: Извините, я не понял, что вы говорили о исходных файлах Java в /usr/share/stuff
. Они не только должны находиться в соответствующем подкаталоге, но вам необходимо их компилировать. Файлы .java
не обязательно должны находиться в пути к классам, но в исходном пути. (Сгенерированные файлы .class
должны быть в пути к классам.)
Возможно, вам удастся скомпилировать их, если они не находятся под правильной структурой каталогов, но они должны быть, или, по крайней мере, будут генерировать предупреждения. Сгенерированные файлы классов будут в правильных подкаталогах (везде, где вы указали -d
, если есть).
Вы должны использовать что-то вроде javac -sourcepath .:/usr/share/stuff test.java
, предположив, что вы поместили файлы .java
, которые находились под /usr/share/stuff
под /usr/share/stuff/org/name
(или что-то подходящее в соответствии с их именами пакетов).
Ответ 2
Вам нужно иметь org/name
dirs в /usr/share/stuff
и поместить ваши источники пакетов org.name
в этот каталог.
Ответ 3
У меня была точно такая же проблема при ручной компиляции через командную строку, мое решение состояло в том, что я не включил каталог -sourcepath, чтобы все java файлы подкаталога также компилировались!
Ответ 4
У меня была эта проблема, пытаясь использовать тему, упакованную как .jar
в моем приложении, она работала при отладке приложения, но это не было при создании/экспорте приложения.
Я решил его, распакуя jar
и вручную добавив его содержимое в мою папку сборки, в результате чего:
project/
│
├── build
│ └── classes
│ ├── pt
│ │ └── myAppName ...
│ └── com
│ └── themeName ...
├── src
└── lib
У меня больше нет ошибки, и мое приложение загружается с намеченной темой.
Ответ 5
Щелкните правой кнопкой мыши свой проект Maven в нижней части раскрывающегося списка Maven >> reimport
это работает для меня для отсутствующих зависимостей
Ответ 6
Я использую Intellij IDE, и когда я добавил новый подпроект в качестве зависимости, я получил похожую ошибку: я решил ее, выбрав File >> Invalidate Caches/Restart...
у меня это сработало из-за отсутствия зависимости.