![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: décembre 2004
Localisation: Amplepuis
Âge: 25
Messages: 81
|
Bonjour,
Je teste actuellement Embedded Tomcat avec Tomcat 6 pour voir comment ça marche et éventuellement l'utiliser plus tard. J'ai trouvé un lien qui donnait un exemple d'utilisation mais je n'arrive pas à le faire fonctionner. Le problème semble interne à l'architecture de Tomcat puisque la classe Embedded n'arrive pas à créer un connector, certains classes semblant incomplètes. J'ai essayé de mettre les derniers jar les plus à jour que j'ai trouvé dans tomcat 6 (les repository Maven pour Tomcat ne semblant pas très à jour) Si vous avez déjà essayé et que vous avez une idée pour mon problème .... le code : Code :
1 import java.io.File; 2 import java.io.IOException; 3 import java.util.Properties; 4 5 import org.apache.catalina.Context; 6 import org.apache.catalina.Engine; 7 import org.apache.catalina.Host; 8 import org.apache.catalina.LifecycleException; 9 import org.apache.catalina.startup.Embedded; 10 import org.slf4j.Logger; 11 import org.slf4j.LoggerFactory; 12 13 /** 14 * http://www.blogjava.net/jarod 15 * @author jarod 16 */ 17 public class TomcatServer { 18 19 private static final Logger logger = LoggerFactory 20 .getLogger(TomcatServer.class); 21 22 public static void main(String[] args) { 23 try { 24 new TomcatServer(); 25 } catch (Throwable t) { 26 logger.error("", t); 27 } 28 } 29 30 private Embedded tomcat; 31 32 // tomcat主目录 33 private String catalinaHome; 34 35 private String projectHome; 36 37 public TomcatServer() { 38 initConf(); 39 40 tomcat = new Embedded(); 41 tomcat.setCatalinaHome(catalinaHome); 42 Engine engine = tomcat.createEngine(); 43 Host host = tomcat.createHost("localhost", projectHome); 44 host.addChild(tomcat.createContext("", "")); 45 Context context = tomcat.createContext("/webapp1", "webapp"); 46 // 当以debug模式启动时,修改可立即生效 47 context.setReloadable(true); 48 host.addChild(context); 49 engine.addChild(host); 50 engine.setDefaultHost("localhost"); 51 tomcat.addEngine(engine); 52 tomcat.addConnector(tomcat.createConnector("0", 8081, false)); 53 registerShutdownHook(); 54 try { 55 tomcat.start(); Thread.sleep(Long.MAX_VALUE); 56 } catch (Exception e) { 57 throw new RuntimeException(e); 58 } 59 } 60 61 private void initConf() { 62 Properties properties = new Properties(); 63 try { 64 properties.load(TomcatServer.class 65 .getResourceAsStream("/tomcat-conf.properties")); 66 catalinaHome = properties.getProperty("catalina.home"); 67 68 File f = new File("."); 69 projectHome = f.getAbsolutePath(); 70 } catch (IOException e) { 71 throw new RuntimeException(e); 72 } 73 } 74 75 private void registerShutdownHook() { 76 Runtime.getRuntime().addShutdownHook(new Thread() { 77 @Override 78 public void run() { 79 try { 80 tomcat.stop(); 81 } catch (LifecycleException e) { 82 throw new RuntimeException(e); 83 } 84 } 85 }); 86 } 87 } erreur à l'exécution : Code :
9 sept. 2008 15:20:27 vsebom.launcher.Launcher main GRAVE: java.lang.NoSuchMethodError: org.apache.tomcat.util.IntrospectionUtils.setProperty(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Z at org.apache.catalina.startup.Embedded.createConnector(Embedded.java:437) at org.apache.catalina.startup.Embedded.createConnector(Embedded.java:384) at vsebom.launcher.Launcher.<init>(Launcher.java:53) at vsebom.launcher.Launcher.main(Launcher.java:21) |
|
|
|
|
|
#2 (permalink) |
|
Membre du Club
![]() Date d'inscription: décembre 2004
Localisation: Amplepuis
Âge: 25
Messages: 81
|
Personne n'a essayé Tomcat Embdded ici ?
Même avec une version plus ancienne ça pourrait m'aider à trouver une piste. Merci de vous manifester nous pourrons en discuter. Bonne journée. |
|
|
|
![]() |
![]() |
||
[Embedded Tomcat] premiers pas
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|