Фон (можно пропустить):
Недавно я написал облегченный сервер на Java, который опрашивает новые подключения к порту, а затем, когда клиент подключается, он дает им свой собственный поток, пока сокет не закроется. Теперь, когда мне нужно подключиться к клиенту, я должен подготовиться к запросам файлов XML особым образом; Если клиент запрашивает файл file1.xml, сервер должен прочитать файл file1.xml, проанализировать его в JSON и отправить клиенту объект json.
Проблема конкретная (сейчас начинаем чтение):
Мне нужно разобрать файлы XML в объекты JSON в Java. Я был рекомендован GROOVY для этой задачи. Это было легко установить как на мой Mac, так и на Ubuntu, но я не могу заставить работать inline Groovy, и причина, скорее всего, очень тривиальная. Вот что я сейчас тестирую (сейчас я просто пытаюсь заставить работать встроенный Groovy):
test.groovy
output = "Hello ${input}!"
test.java
import groovy.lang.Binding;
import groovy.util.GroovyScriptEngine;
String[] roots = new String[] { "/home/nick/Documents" };
GroovyScriptEngine gse = new GroovyScriptEngine(roots);
Binding binding = new Binding();
binding.setVariable("input", "world");
gse.run("test.groovy", binding);
System.out.println(binding.getVariable("output"));
Оба эти файла находятся в моей папке /home/nick/Documents
. Когда я пытаюсь скомпилировать с:
javac test.java
Я получаю 6 ошибок:
test.java:4: class, interface, or enum expected
String[] roots = new String[] { "/home/nick/Documents" };
^
test.java:5: class, interface, or enum expected
GroovyScriptEngine gse = new GroovyScriptEngine(roots);
^
test.java:6: class, interface, or enum expected
Binding binding = new Binding();
^
test.java:7: class, interface, or enum expected
binding.setVariable("input", "world");
^
test.java:8: class, interface, or enum expected
gse.run("test.groovy", binding);
^
test.java:9: class, interface, or enum expected
System.out.println(binding.getVariable("output"));
^
6 errors
Я чувствую, что делаю что-то не так на этапе компиляции. Как я могу получить эту компиляцию и запуск?
Помощь очень ценится