У меня есть класс, имеющий статические конечные методы. [Say A, B, C]. C вызывает другой класс D [D's пакет импортируется в C] В сборке maven [say M.jar], что у меня нет пакета D. Во время выполнения, когда я пытаюсь вызвать A с M.jar в classpath, noclasdef ошибка говорит D не prsent.Получение noClassDefFoundError
Почему я получаю это? Поделитесь своими мыслями
упаковка TEST1 импорт test.CHECK.TestA; import test.CHECK.TestB; Фабрика класса
{
конечного статического Int А() {// некоторая ссылка на test.CHECK.TestA}
статические INT B() {// некоторая ссылка на test.CHECK.TestB}
статические INT С() {}
меня банку, содержащую этот класс и пакет test.CHECK.TestB в этом jar.Howver, этот сосуд не содержит test.CHECK.TestA.
Теперь моя клиентская программа, имеющая эту банку, вызывает c(). Затем, получив ClassNotFoundException для TestA, хотя мы не вызываем A(). Почему это так?
Спасибо за ваши входные данные. Я не звоню A(), тогда зачем это требуется во время выполнения?, Может потребоваться для сборки maven. Также наблюдается, что мы не получаем этот noclasdef, если A() является просто статическим , а не окончательный статический – user170114
Пожалуйста, напишите свой код. – markosca
Я не должен делиться сценарием code.the. X сценарий с образцом кода, который я предоставил выше. Я озадачен тем, почему мы не получаем ошибку, если meth A является просто static.Please, дайте мне знать, какая информация, кроме кода мне нужно предоставить – user170114