Программисты JAVA общаются здесь
Anonymous
Приложение Tomcat (спокойные веб-службы) загружается, но не запускается без ошибок
Сообщение
Anonymous » 12 янв 2025, 03:49
При переходе с Java на Jakarta, с Java 1.7 (JE 7) на JE 21 и с tomcat 10
исходный код:
Код: Выделить всё
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package eu.oca;
import jakarta.ws.rs.ApplicationPath;
import java.util.Set;
import jakarta.ws.rs.core.Application;
import java.io.File;
import java.net.InetAddress;
import java.net.UnknownHostException;
//import kawa.standard.Scheme;
//import eu.oca.kawafunct.DBtoWebObserversKawa;
/**
*
* @author mattei
*/
@jakarta.ws.rs.ApplicationPath("jersey")
public class ApplicationConfig extends Application {
private boolean alreadyRun = false; //true; //false;
@Override
public Set> resources = new java.util.HashSet();
addRestResourceClasses(resources);
return resources;
}
private void initSidonie() {
System.out.println("Sidonie : ApplicationConfig : initSidonie : registering Scheme environment...");
//Scheme.registerEnvironment(); // if you do not do that you will be sooner or later in serious troubles...
//System.out.println("Sidonie : ApplicationConfig : initSidonie : Scheme environment registered.");
// not really useful: give /root directory when tomcat started by root
try {
String path = new File(".").getCanonicalPath();
System.out.println("Sidonie : ApplicationConfig : initSidonie : path = " + path);
} catch(Exception e) {
System.out.println("Sidonie : ApplicationConfig : initSidonie : Exception in getCanonicalPath = ");
// if any error occurs
e.printStackTrace();
}
//System.out.println("Sidonie : ApplicationConfig : initSidonie : ApplicationConfig.APPLICATION_PATH = " + ApplicationConfig.APPLICATION_PATH);
// try to determine the webapps Catalina directory
String hostname = "Unknown";
String webapps_dir = "/usr/local/apache-tomcat-8.0.27/webapps";
try
{
InetAddress addr;
addr = InetAddress.getLocalHost();
hostname = addr.getHostName();
System.out.println("Sidonie : ApplicationConfig : Hostname = " + hostname);
if (hostname.equals("sidonie.oca.eu"))
webapps_dir = "/var/lib/tomcat8/webapps";
System.out.println("Sidonie : ApplicationConfig : webapps_dir = " + webapps_dir);
}
catch (UnknownHostException ex)
{
System.out.println("Sidonie : ApplicationConfig : Hostname can not be resolved");
}
//DBtoWebObserversKawa dbwo = new DBtoWebObserversKawa(webapps_dir);
//String res = dbwo.work();
}
private void addRestResourceClasses(Set
Подробнее здесь: [url]https://stackoverflow.com/questions/79348294/tomcat-application-restfull-web-services-loaded-but-do-not-start-without-any-e[/url]
1736642969
Anonymous
При переходе с Java на Jakarta, с Java 1.7 (JE 7) на JE 21 и с tomcat 10 исходный код: [code] /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package eu.oca; import jakarta.ws.rs.ApplicationPath; import java.util.Set; import jakarta.ws.rs.core.Application; import java.io.File; import java.net.InetAddress; import java.net.UnknownHostException; //import kawa.standard.Scheme; //import eu.oca.kawafunct.DBtoWebObserversKawa; /** * * @author mattei */ @jakarta.ws.rs.ApplicationPath("jersey") public class ApplicationConfig extends Application { private boolean alreadyRun = false; //true; //false; @Override public Set> resources = new java.util.HashSet(); addRestResourceClasses(resources); return resources; } private void initSidonie() { System.out.println("Sidonie : ApplicationConfig : initSidonie : registering Scheme environment..."); //Scheme.registerEnvironment(); // if you do not do that you will be sooner or later in serious troubles... //System.out.println("Sidonie : ApplicationConfig : initSidonie : Scheme environment registered."); // not really useful: give /root directory when tomcat started by root try { String path = new File(".").getCanonicalPath(); System.out.println("Sidonie : ApplicationConfig : initSidonie : path = " + path); } catch(Exception e) { System.out.println("Sidonie : ApplicationConfig : initSidonie : Exception in getCanonicalPath = "); // if any error occurs e.printStackTrace(); } //System.out.println("Sidonie : ApplicationConfig : initSidonie : ApplicationConfig.APPLICATION_PATH = " + ApplicationConfig.APPLICATION_PATH); // try to determine the webapps Catalina directory String hostname = "Unknown"; String webapps_dir = "/usr/local/apache-tomcat-8.0.27/webapps"; try { InetAddress addr; addr = InetAddress.getLocalHost(); hostname = addr.getHostName(); System.out.println("Sidonie : ApplicationConfig : Hostname = " + hostname); if (hostname.equals("sidonie.oca.eu")) webapps_dir = "/var/lib/tomcat8/webapps"; System.out.println("Sidonie : ApplicationConfig : webapps_dir = " + webapps_dir); } catch (UnknownHostException ex) { System.out.println("Sidonie : ApplicationConfig : Hostname can not be resolved"); } //DBtoWebObserversKawa dbwo = new DBtoWebObserversKawa(webapps_dir); //String res = dbwo.work(); } private void addRestResourceClasses(Set Подробнее здесь: [url]https://stackoverflow.com/questions/79348294/tomcat-application-restfull-web-services-loaded-but-do-not-start-without-any-e[/url]