Forum des développeurs  

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é.
Précédent   Forum des développeurs > Java > Développement Web en Java > Tomcat

Réponse
 
Outils de la discussion
Vieux 09/09/2008, 15h36   #1 (permalink)
Membre du Club
 
Avatar de eracius
 
Date d'inscription: décembre 2004
Localisation: Amplepuis
Âge: 25
Messages: 81
Par défaut [Embedded Tomcat] premiers pas

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 }
 
trouvé ici

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)
 
Merci d'avance et bonne journée à tous.
eracius est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/09/2008, 11h15   #2 (permalink)
Membre du Club
 
Avatar de eracius
 
Date d'inscription: décembre 2004
Localisation: Amplepuis
Âge: 25
Messages: 81
Par défaut

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.
eracius est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Java > Développement Web en Java > Tomcat

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide