Ответ 1
Вам нужно добавить проект B в конфигурацию Run, используемую проектом A. В меню Run → Run configurations..., добавьте проект B в вкладку "путь к классам" вашей конфигурации запуска.
У меня есть проект "A", и мне нужно вызвать класс "c" из другого проекта "B".
Я сделал следующее. Нажмите "A" → "Свойства" → "Путь сборки" → и на одной вкладке Java Source я выбран проект B. → Принять
Теперь я могу создавать объекты класса "c", но когда я запускаю проект, я получаю "ClassNotFoundException"
Update
Я продолжаю получать java.lang.ClassNotFoundException.
В "JSF" → Свойства → Путь сборки → Проекты --- > Добавлен проект:
В Run → Run Configurations → ClassPath у меня было:
и теперь я добавил проекты "JIRA" и "JIRA dependencies",
Проект JIRA имеет следующие зависимости:
И я получаю следующую ошибку:
но этот класс находится в M2_REPO:
Решение
Я добавляю "зависимости JIRA" только в JAR без Maven:
и теперь он запускается.
Вам нужно добавить проект B в конфигурацию Run, используемую проектом A. В меню Run → Run configurations..., добавьте проект B в вкладку "путь к классам" вашей конфигурации запуска.
Вы должны добавить другой проект на вкладке "Проект" или добавить папку класса проекта на вкладке "Библиотеки".
Поместите проект B на путь сборки, затем выполните проект "Очистить" из меню "Проект"... и затем используйте его.
-
Click in "A" -->Properties -->Build Path --> Projects ---> Add the Project --->Ok
Чтобы вызвать методы из классов в Java, вам сначала понадобится экземпляр класса.
Итак, в вашем коде вам нужно сделать что-то вроде следующего:
экземпляр экземпляра:
MyClass instanceOfMyclass= MyClass.getInstance();
вызов метода:
instanceOfMyClass.someFunction(...);
Это означает, что когда вы вызываете getInstance(), он возвращает экземпляр MyClass, если такой экземпляр уже существует, или он создаст новый, если нет экземпляра. После приобретения экземпляра класса вы просто называете его методами, если у них есть соответствующие модификаторы доступа.
В соответствии с java doc java.lang.classNotFoundException происходит в следующих случаях:
Чтобы решить вышеизложенное исключение, нам необходимо:
Сначала найдите файл jar, в котором присутствует файл проблемного класса, например, в случае "com.mysql.jdbc.driver" его mysql-connector-java.jar. Если вы не знаете, как найти файл jar определенного класса, вы можете просто сделать "Ctrl + T" в Eclipse и ввести имя класса. Он отобразит всю банку в том порядке, в каком они появляются в пути класса eclipse.
Проверьте, содержит ли ваш путь к классу этот jar, если ваш путь к классам не содержит jar, тогда просто добавьте этот класс в свой путь к классам.
Если это присутствует в вашем пути к классу, тогда существует высокая вероятность того, что ваш путь к классам будет переопределен, или приложение использует путь к классам, указанный в файле jar или start-up script, и чтобы исправить это, вам нужно найти точный путь к классам используемый вашим приложением.
Если B находится в том же рабочем пространстве и alos open, вы должны поместить int в "Projects", а не "Source". Если вы хотите сделать "более независимым", вам нужно экспортировать B.jar и добавить его в "Библиотеки"
Также рассмотрите использование maven. Это очень полезно, если у вас есть многомодульные проекты. Просто добавьте зависимости другого проекта, и maven позаботится об отдыхе..!
создайте проект "A" как банку и добавьте эту банку в путь сборки "B". Затем вы можете вызвать класс, который хотите, и импортировать имя этого класса с именем calss.