IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Un war compilé sous Windows ne trouve plus ses fichiers internes sous Linux. Paramétrage spécial requis ?


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Par défaut Un war compilé sous Windows ne trouve plus ses fichiers internes sous Linux. Paramétrage spécial requis ?
    Bonjour,

    J'ai eu accès à une machine sur Linux (Debian 8) depuis peu, et j'ai souhaité y placer sur un serveur web un .war que j'avais créé, et qui fonctionne bien sous Windows.

    Quand je déploie le war sous Linux, et que je démarre le serveur Tomcat, des erreurs de ressources et de fichiers non trouvés apparaissent :
    - Un échec à aller lire le fichier un fichier de propriétés fr/ardent/service/base/DemarrageService_fr.properties, inclu dans un jar du war, pour y trouver la propriété log.demarrage_mise_en_cache : problème de locale par défaut ?
    - Un échec pour lire WEB-INF/faces-config.xml
    EDIT : j'ai trouvé la cause pour celui-ci : c'est /WEB-INF/faces-config.xml qu'il faut placer dans son web.xml, et pas WEB-INF/faces-config.xml

    J'ai lancé mon tomcat depuis un su root,

    Merci !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    [localhost-startStop-1] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1262 ms
    [pool-1-thread-1] ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
    java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key log.demarrage_mise_en_cache
            at java.util.ResourceBundle.getObject(ResourceBundle.java:450)
            at java.util.ResourceBundle.getString(ResourceBundle.java:407)
            at fr.fondation.utilitaires.localisation.Ressources.format(Ressources.java:337)
            at fr.fondation.utilitaires.Logger.info(Logger.java:260)
            at fr.fondation.utilitaires.localisation.Ressources.info(Ressources.java:721)
            at fr.ardent.service.base.DemarrageService.constructionCaches(DemarrageService.java:35)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)
            at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
            at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
    Nov 06, 2015 6:07:22 AM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initializing Mojarra 2.2.12 ( 20150720-0848 https://svn.java.net/svn/mojarra~svn/tags/2.2.12@14885) for context '/Ardent'
    Nov 06, 2015 6:07:22 AM com.sun.faces.config.ConfigureListener contextInitialized
    SEVERE: Critical error during deployment:
    com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: The resource path [WEB-INF/faces-config.xml] is not valid
            at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:764)
            at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:353)
            at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4795)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5221)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
            at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:919)
            at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1703)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
    Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: The resource path [WEB-INF/faces-config.xml] is not valid
            at java.util.concurrent.FutureTask.report(FutureTask.java:122)
            at java.util.concurrent.FutureTask.get(FutureTask.java:192)
            at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:751)
            ... 15 more

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    La différence principale c'est que Windows a un filesystem qui ignore la casse. Regarde si tu n'as pas des fichiers .JAR plutôt que .jar
    Pour le root. Des baffes! Jamais.

  3. #3
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 608
    Par défaut
    Je suis entre la fraise et le navet côté Linux.
    je suis passé en su root parce que un

    systemctl start tomcat8.service
    répondait : "Permission denied".

    Et que je ne savais pas où faire mon chown, si c'était ça qu'il fallait faire.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ouais faut être root pour lancer les service, mais normalement le service tomcat8.service va changer d'utilisateur juste avant de lancer tomcat. Je pensait que tomcat même tournait en root :-)

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/11/2014, 17h47
  2. Réponses: 6
    Dernier message: 16/10/2014, 13h50
  3. fichiers css appelés sous windows et plus sous linux
    Par kaking dans le forum Zend Framework
    Réponses: 14
    Dernier message: 19/09/2011, 15h56
  4. Réponses: 5
    Dernier message: 24/08/2009, 18h58
  5. Copier des fichiers en Perl sous Windows XP
    Par Pauli dans le forum Langage
    Réponses: 1
    Dernier message: 19/02/2007, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo