2016-04-10 10 views
-1

У меня есть эта структура в моей папкекомпиляции класса с другим классом зависимости

SupportUtils.groovy 
Main.java 
groovy-all-2.4.6.jar 

компилировать groovy файл с командой groovyc SupportUtils.groovy и получить несколько .class файлов.

Теперь я хочу скомпилировать файл Main.java. Я запустить эту команду

javac -cp groovy-all-2.4.6.jar Main.java 

, но я получаю ошибку

Main.java:6: error: cannot find symbol 
      List<String> list = SupportUtils.readFile("file.txt"); 
           ^
symbol: variable SupportUtils 
location: class Main 

что означает, что он не может найти SupportUtils класс. У меня нет объявлений пакетов в Main.java или SupportUtils.groovy.

Так как я должен скомпилировать мой класс Main.java в этом случае?

+0

Вы пытались добавить файлы '' .class''' в свой путь к классу? Возможно, SupportUtils не находятся в банке. –

+0

Я думал, что он сможет найти его в той же папке. Я ошибался. – lapots

ответ

2

Если ваши классы от заводной просто сбрасывали в текущую папку, вы, вероятно, необходимо добавить текущую папку в путь к классам

javac -cp .:groovy-all-2.4.6.jar Main.java 

Это предполагает, что вы находитесь на Linux или OSX (вы не говорите)

путь вы делаете вещи, не очень хороший способ делать вещи, хотя

Используя инструмент сборки, как Gradle поможет организовать ваш код, и сделать сборки воспроизводимым, упаковывают кого-то еще нужно постройте код или какую-либо форму континуума s используется

+0

Зачем мне нужно «gradle», чтобы скомпилировать пару тестовых классов с 5-10 строками кода? В этом случае я не создаю никакого проекта. – lapots

+0

Кроме того, спасибо, что он работает сейчас! – lapots

+1

Настройки Gradle заняли пару минут и избавили вас от этой проблемы; наверно, это само по себе стоило бы того? – tddmonkey

Смежные вопросы