Moin,
ich hab hier grad ein ziemlich großes Problem. Und zwar haben wir bei uns nach vielen Jahren ein Update von Java 8 auf Java 17 gemacht. Hat auch wunderbar funktioniert bisher. Jedoch funktioniert ein Projekt jetzt nicht mehr. Und zwar ein Projekt das JAX-WS nutzt. Als ich das Projekt umgestellt habe, bekam ich Fehlermeldungen dass er den javax.jws-Namespace nicht mehr finden kann. Dies habe ich allerdings dadurch behoben, indem ich die Bibliothek JAX-WS 2.3.5 eingebunden habe. Danach konnte ich das Projekt kompilieren und auch starten. Doch sobald ich versuche den Server zu starten, bekomme ich folgende Fehlermeldung wenn ich versuche die Funktion "this.endpoint.publish(context);" auszuführen:
Vielen Dank schon einmal im Voraus.
Viele Grüße
Maliko
Falls benötigt hier auch noch mal der Code des Servers:
ich hab hier grad ein ziemlich großes Problem. Und zwar haben wir bei uns nach vielen Jahren ein Update von Java 8 auf Java 17 gemacht. Hat auch wunderbar funktioniert bisher. Jedoch funktioniert ein Projekt jetzt nicht mehr. Und zwar ein Projekt das JAX-WS nutzt. Als ich das Projekt umgestellt habe, bekam ich Fehlermeldungen dass er den javax.jws-Namespace nicht mehr finden kann. Dies habe ich allerdings dadurch behoben, indem ich die Bibliothek JAX-WS 2.3.5 eingebunden habe. Danach konnte ich das Projekt kompilieren und auch starten. Doch sobald ich versuche den Server zu starten, bekomme ich folgende Fehlermeldung wenn ich versuche die Funktion "this.endpoint.publish(context);" auszuführen:
Alles was ich dazu gefunden habe, hängt irgendwie mit Maven zusammen. Wir benutzen allerdings Java-Ant. Kann mir vielleicht irgendjemand von euch weiterhelfen, wie ich diesen Fehler los werde? Weil unter Java 8 lief das ganze ohne Probleme. Es muss also mit dem Update auf Java 17 zusammenhängen.Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/annotation/Resource
at com.sun.xml.ws.util.InjectionPlan.buildInjectionPlan(InjectionPlan.java:159)
at com.sun.xml.ws.server.DefaultResourceInjector.inject(DefaultResourceInjector.java:28)
at com.sun.xml.ws.server.SingletonResolver.start(SingletonResolver.java:40)
at com.sun.xml.ws.api.server.InstanceResolver$1.start(InstanceResolver.java:208)
at com.sun.xml.ws.server.InvokerTube.setEndpoint(InvokerTube.java:53)
at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:174)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:307)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:302)
at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:134)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:578)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:560)
at com.sun.xml.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:304)
at com.sun.xml.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:227)
at asekvwebservice.Webserver.Webserver.initWebserver(Webserver.java:107)
at asekvwebservice.Launcher.Launcher.startWebserver(Launcher.java:147)
at asekvwebservice.Launcher.Launcher.btnStartMouseClicked(Launcher.java:140)
at asekvwebservice.Launcher.Launcher.access$000(Launcher.java:27)
at asekvwebservice.Launcher.Launcher$1.mouseClicked(Launcher.java:82)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6629)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: javax.annotation.Resource
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 49 more
Vielen Dank schon einmal im Voraus.
Viele Grüße
Maliko
Falls benötigt hier auch noch mal der Code des Servers:
Java:
/**
*
* @author ASEKV
*/
public class Webserver {
private Endpoint endpoint;
private HttpsServer server;
public void initWebserver() throws ASEKVException, UnknownHostException, FileNotFoundException, IOException, NoSuchAlgorithmException, KeyStoreException, CertificateException, UnrecoverableKeyException, KeyManagementException {
ExecutorService executor = Executors.newFixedThreadPool(20);
this.endpoint = Endpoint.create(new ASEKVServiceImpl());
InetSocketAddress address;
char[] password;
FileInputStream input;
if(!GlobalProperties.isLocal()) {
if(!GlobalProperties.isDebug()) {
address = new InetSocketAddress(InetAddress.getByName("domain.de"), 5642);
password = "hallo123".toCharArray();
input = new FileInputStream(System.getProperty("user.dir") + "\\lib\\security\\prod.jks");
} else {
address = new InetSocketAddress(InetAddress.getByName("domain.de"), 5643);
password = "hallo123".toCharArray();
input = new FileInputStream(System.getProperty("user.dir") + "\\lib\\security\\prod.jks");
}
} else {
if(!GlobalProperties.isDebug()) {
address = new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 5642);
password = "123456".toCharArray();
input = new FileInputStream(System.getProperty("user.dir") + "\\lib\\security\\localhost.jks");
} else {
address = new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 5643);
password = "123456".toCharArray();
input = new FileInputStream(System.getProperty("user.dir") + "\\lib\\security\\localhost.jks");
}
}
this.server = HttpsServer.create(address, 0);
SSLContext ssl = SSLContext.getInstance("TLSv1.2");
KeyStore store = KeyStore.getInstance("JKS");
store.load(input, password);
KeyManagerFactory keyManager = KeyManagerFactory.getInstance("SunX509");
keyManager.init(store, password);
TrustManagerFactory trustManager = TrustManagerFactory.getInstance("SunX509");
trustManager.init(store);
ssl.init(keyManager.getKeyManagers(), trustManager.getTrustManagers(), null);
this.server.setHttpsConfigurator(new HttpsConfigurator(ssl) {
@Override
public void configure(HttpsParameters params) {
try {
SSLContext context = SSLContext.getDefault();
SSLEngine engine = context.createSSLEngine();
params.setNeedClientAuth(false);
params.setCipherSuites(engine.getEnabledCipherSuites());
params.setProtocols(engine.getEnabledProtocols());
params.setSSLParameters(context.getDefaultSSLParameters());
} catch (NoSuchAlgorithmException e) {
System.out.println(e.getMessage());
}
}
});
this.server.start();
HttpContext context = server.createContext("/asekv");
this.endpoint.setExecutor(executor);
this.endpoint.publish(context);
}
public void stopWebserver() {
this.endpoint.stop();
this.server.stop(0);
this.server = null;
this.endpoint = null;
}
}