Я строю этот проект (с изменениями): 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
.