Я разработчик С++, а не разработчик Java, но мне нужно заставить этот код работать...
У меня есть 2 общедоступных класса, которые будут использоваться другим продуктом. Я использовал директиву пакета в каждом из java файлов.
package com.company.thing;
class MyClass ...
Когда я пытаюсь скомпилировать тестовое приложение, которое использует это, я добавляю
import com.company.thing.*;
Компилятор javac не работает с ошибками о com.company не существует. (даже если я скомпилирую его в том же каталоге, что и файлы классов, которые я только что сделал из пакета)
Я уверен, что делаю что-то костяное и глупое.
Я прочитал страницы http://java.sun.com/docs/books/tutorial/java/package/usepkgs.html и попытался настроить структуру каталогов, такую как/com/company/thing и т.д., но либо Я полностью ввернул все это или пропустил что-то еще.
ИЗМЕНИТЬ спасибо за предложения - я уже пробовал путь к классам. Это не помогает.
Я пробовал компилировать
javac -classpath <parent> client.java
и результат:
package com.company does not exist
У меня есть код, который я хочу импортировать (два java файла) в \com\company\product. Я скомпрометирую их. (они содержат MyClass), я даже сделал для них файл jar. Я скопировал файл jar в родительский каталог.
Затем я сделал (в родительском каталоге с клиентским java файлом)
javac -cp <jarfile> *.java
результат:
cannot access MyClass
bad class file: MyClass.class(:MyClass.class)
class file contains wrong class: com.company.product.MyClass
Please remove or make sure it appears in the correct subdirectory of the classpath.
ИЗМЕНИТЬ
Я получил код клиента для компиляции и запуска, если я использовал полное имя для MyClass и скомпилировал его в родительском каталоге. Теперь я совершенно смущен.
скомпилирован без комплекта pathpath - просто
javac *.java
в родительском каталоге - и он работал нормально.
Я могу получить тестовое приложение для компиляции, но это не собирается сокращать его, когда мне нужно интегрировать его в производственный код. Все еще ищут помощь.
EDIT:
Наконец - не уверен, почему он не работал раньше, но я очистил все файлы по всей структуре каталогов, и теперь он работает.
Спасибо