Ant: ошибка: не удается найти символ: символ: класс Сервер: местоположение: класс SslContextFactory. Хотя JAR находится в пути к классам - PullRequest
0 голосов
/ 10 января 2020

Я строю этот проект (с изменениями): https://github.com/nextgenhealthcare/connect

У меня есть следующий код:

import org.eclipse.jetty.util.ssl.SslContextFactory;
public class HttpsReceiver extends SourceConnector implements BinaryContentTypeResolver {
    @Override
    public void onStart() throws ConnectorTaskException {
...
            SslContextFactory sslContextFactory = new SslContextFactory.Server();

Когда я строю с включенным Сценарий Ant, я получаю сообщение об ошибке:

C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server>ant compile -debug
...
compile:
    [mkdir] Created dir: C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server\classes
...
    [javac] Compiling 822 source files to C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server\classes
    [javac] Using modern compiler
    [javac] Compilation arguments:
    [javac] '-d'
    [javac] 'C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server\classes'
    [javac] '-classpath'
...
...;C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server\lib\jetty\jetty-util-9.4.24.v20191120.jar;...
...
    [javac] C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server\src\com\mirth\connect\connectors\https\HttpsReceiver.java:311: error: cannot find symbol
    [javac]             SslContextFactory sslContextFactory = new SslContextFactory.Server();
    [javac]                                                                        ^
    [javac]   symbol:   class Server
    [javac]   location: class SslContextFactory

Однако этот класс и JAR существуют!

C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server>jar -tf C:\Users\Chloe\workspace\spinsci\connect-3.8.1\server\lib\jetty\jetty-util-9.4.24.v20191120.jar | grep Server
org/eclipse/jetty/util/ssl/SslContextFactory$Server.class

Так почему Ant жалуется, что не может найти класс, когда он доступен?

Вот это build.xml:

<target name="init">
    <path id="classpath">
        <fileset dir="${lib}" includes="**/*.jar" />
    </path>
...
<target name="compile" depends="clean, init, create-javadocs">
    <!-- compile the source -->
    <mkdir dir="${classes}" />

    <javac srcdir="${src}" destdir="${classes}" debug="on" includeAntRuntime="false">
        <classpath refid="classpath" />
    </javac>

Я попытался добавить строку

import org.eclipse.jetty.util.ssl.SslContextFactory.Server;

Но затем Eclipse пожаловался на ошибку The import org.eclipse.jetty.util.ssl.SslContextFactory.Server collides with another import statement.

...