Eclipse не генерирует класс процесса аннотации, но m2e-apt работает нормально - PullRequest
0 голосов
/ 27 марта 2019

В undertow есть класс с именем HttpRequestParser, который использует процесс аннотации и должен генерировать HttpRequestParser$$generated.

Во-первых, m2e-apt работает нормально, поскольку генерирует generated-sources правильно.

Я пытаюсь запустить пример

        Undertow server = Undertow.builder()
                .addHttpListener(8080, "localhost")
                .setHandler(new HttpHandler() {
                    @Override
                    public void handleRequest(final HttpServerExchange exchange) throws Exception {
                        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
                        exchange.getResponseSender().send("Hello World");
                    }
                }).build();
        server.start();  

Но с ошибкой

Mar 27, 2019 10:50:55 PM org.xnio.Xnio <clinit>
INFO: XNIO version 3.3.8.Final
Mar 27, 2019 10:50:55 PM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.3.8.Final
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: io.undertow.server.protocol.http.HttpRequestParser$$generated
    at io.undertow.Undertow.start(Undertow.java:247)
    at io.github.fairjm.undertow.examples.HelloWorldServer.main(HelloWorldServer.java:20)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: io.undertow.server.protocol.http.HttpRequestParser$$generated
    at io.undertow.server.protocol.http.HttpRequestParser.instance(HttpRequestParser.java:221)
    at io.undertow.server.protocol.http.HttpOpenListener.<init>(HttpOpenListener.java:93)
    at io.undertow.Undertow.start(Undertow.java:179)
    ... 1 more
Caused by: java.lang.ClassNotFoundException: io.undertow.server.protocol.http.HttpRequestParser$$generated
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at io.undertow.server.protocol.http.HttpRequestParser.instance(HttpRequestParser.java:216)
    ... 3 more

UndertowLogger_$logger был сгенерирован m2e-apt, поэтому журнал в порядке.

И я пытаюсь запустить mvn clean compile, затем HttpRequestParser$$generated генерируется в target\classes (и у него нет сгенерированного источника).

Что мне нужно сделать, чтобы Eclipse генерировал их?

1 Ответ

0 голосов
/ 27 марта 2019

Эммммм ...
Я чувствую себя так неловко ... Во время набора текста я спросил себя, должен ли я добавить кувшин процессора к заводскому пути, а затем я проверил, что не нашел ...
После того, как положил undertow-parser-generator в undertow-core Заводской путь.
Наконец-то работает.

enter image description here

...