Как импортировать в Java - PullRequest
       1

Как импортировать в Java

1 голос
/ 02 февраля 2012

Я пытаюсь импортировать, и мое утверждение выглядит так:

import C.Users.pro-services.Documents.JAVA.libs.feed.synd.SyndFeed;

Компилятор выдает ошибку b / c дефиса в pro-services.Здесь есть простое исправление или более глубокая проблема (ре: мое понимание операторов импорта!)?

Спасибо

Ответы [ 5 ]

1 голос
/ 02 февраля 2012

пакет про-услуг неправильный. Вы не можете создать пакет с дефисом.

1 голос
/ 02 февраля 2012

Вам нужен SyndFeed на classpath , и обратитесь к нему по полному имени.

Грубо говоря, classpath содержит несколько файлов JAR и отдельных файлов классов. Каждый класс (внутри или вне .jar) имеет полное имя: имя пакета + имя класса. Это то, что вы пишете в своем заявлении на импорт.

0 голосов
/ 02 февраля 2012

Боже мой, пожалуйста, скажи мне, что ты не имеешь в виду абсолютный путь к файлу! В Java есть вещь, называемая classpath , которую виртуальная машина использует для поиска классов. Затем, когда ваш класс находится в пути к классам (либо в jar-файле, либо внутри вашего приложения), вы можете импортировать его в свои классы и использовать его. Класс, который вы пытаетесь импортировать, выглядит как com.sun.syndication.feed.synd.SyndFeed который вы бы импортировали как:

import com.sun.syndication.feed.synd.SyndFeed;

Это учитывая, что у вас это есть в вашем классе. Если вы этого не сделаете, возьмите банку и поместите ее в путь к классам.

0 голосов
/ 02 февраля 2012

Похоже, что пакет для класса SyndFeed равен feed.synd.В этом случае выполните следующие действия:

  1. import feed.synd.SyndFeed; в java-файле.
  2. Если класс SyndFeed находится в банке, добавьте банку в classpath.Возможно CLASSPATH = C:\Users\pro-services\Documents\JAVA\libs\SyndFeedJarName.jar.
  3. Если класс SyndFeed отсутствует в jar, добавьте каталог, соответствующий первому имени в пакете (в данном случае feed), в classpath.Возможно CLASSPATH = C:\Users\pro-services\Documents\JAVA\libs\feed.
0 голосов
/ 02 февраля 2012

Аргумент import не является путем;это имя пакета Java.В верхней части SyndFeed.java должно быть указано что-то вроде

package feed.synd;

, аргумент package должен быть префиксом имени класса в import;то есть

import feed.synd.SyndFeed;

Вы не используете import, чтобы сообщить компилятору, где найти класс;для этого используется переключатель -classpath (или, что менее приятно, переменная окружения CLASSPATH).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...