Java не может найти ошибку компиляции символа - PullRequest
0 голосов
/ 31 декабря 2008

новичок в Java. Я хочу использовать пакет org.apache.commons.lang.WordUtils. Попробовал импортировать его. Попытался загрузить его и добавить в мой путь сборки. Когда я использую intellisense для слова WordUtils Eclipse auto помещает оператор импорта в начало файла.

Я получаю следующую ошибку при компиляции:

ConvertToUrl.java:3: package org.apache.commons.lang
import org.apache.commons.lang.WordUtils;
                              ^

ConvertToUrl.java:36: cannot find symbol
symbol  : variable WordUtils
location: class d6.common.ConvertToUrl
                url = WordUtils.capitalizeFully(url);
                      ^
2 errors

И когда я удаляю оператор импорта сверху, я получаю:

ConvertToUrl.java:34: cannot find symbol
symbol  : variable WordUtils
location: class d6.common.ConvertToUrl
                url = WordUtils.capitalizeFully(url);
                      ^
1 error

Спасибо

Ответы [ 8 ]

4 голосов
/ 31 декабря 2008

Это правильная версия Java и правильное использование функции WordUtils. Это, вероятно, проблема затмения. Я бы проверил, что jar импортирован и находится на пути компиляции.

1 голос
/ 04 марта 2011

Если вы используете ant-скрипт для сборки своего кода в eclipse, проверьте, не указан ли classpath и в файле build.xml. Вы можете использовать что-то подобное под тегом javac в вашем файле сборки. Здесь, где pathelement находится зависимая библиотека:

<target name="compile" depends="init" description="compile the source " >
    <javac srcdir="${src}" destdir="${classsfiles}" >
        <classpath>
            <pathelement path="${libdir}/common-io.jar"/>
            <pathelement path="${libdir}/xerces.jar"/>
        </classpath>
    </javac>
</target>
1 голос
/ 31 декабря 2008

Ах, фантастика, это был тот самый Подавляющий огонь, спасибо.

Я компилировал через командную строку. Мне все еще нужно узнать об муравье. Я привык к php, гораздо проще начать с!

1 голос
/ 31 декабря 2008

Когда вы получаете ошибку компилятора, где вы это получаете? Это когда вы пытаетесь скомпилировать исходный код в командной строке? Если это так, то вам нужно убедиться, что jar либо установлен в вашей переменной CLASSPATH, либо используется в командной строке, либо добавлен в ваш build.xml, либо установлен для любого механизма, который вы используете для компиляции класса.

1 голос
/ 31 декабря 2008

Спасибо всем. Класс находится в пути сборки.

Я вставил класс, который использую ниже (за исключением некоторых ненужных битов).

Как я уже сказал, Eclipse добавляет в этом операторе импорта.

import org.apache.commons.lang.WordUtils;

Нужно ли мне это, если я скачал JAR?
Кстати: я не взял classpath 101, я просто выясняю, как я продвигаюсь вперед, совершенно новый для Java.

package d6.common;

public class ConvertToUrl {
    private static String url;

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        url = WordUtils.capitalizeFully(url);
        this.url = url;

    }
}

Спасибо за помощь!

1 голос
/ 31 декабря 2008

Зайдите в свойства своего проекта и в Java Build Path (я думаю) вам нужно добавить jar commons в качестве External Jar, это довольно просто, если вы найдете нужную вкладку в свойствах, как только вы там возможность просмотреть, куда вы скачали банку и добавить ее, это должно решить вашу проблему.

0 голосов
/ 31 декабря 2008

Вам никогда не «нужно» использовать один импорт. Все, что он делает, это экономит ваш набор: вы можете набирать «WordUtils» вместо «org.apache.commons.lang.WordUtils» всякий раз, когда вы хотите использовать класс.

Если у вас все еще есть проблема, она говорит, что класс НЕ находится в пути сборки, и вам все еще нужно выяснить, как ее устранить.

0 голосов
/ 31 декабря 2008

Это classpath 101. JAR, содержащий этот класс, отсутствует в пути сборки. Достаточно легко добавить в Eclipse: щелкните правой кнопкой мыши на свойства проекта, и он должен быть в списке. выбора.

...