WebLogic - à l'Aide de la variable d'environnement / les guillemets doubles “Arguments” dans “Démarrage du Serveur”
J'ai un serveur d'administration, NodeManager, et 1 serveur géré, le tout sur la même machine.
Je suis en train de saisir quelque chose de semblable pour le champ arguments dans l'onglet Server Start:
-Dmy.property=%USERPROFILE%\someDir\someJar.jar
Mais quand le serveur géré a commencé, il jette cette exception:
Erreur d'ouverture de fichier zip ou JAR manifeste manquant : %USERPROFILE%\someDir\someJar.jar
Il apparaît que la variable d'environnement n'est pas traduit en valeur. Il est répercutée sur le serveur géré en tant que texte brut.
J'ai essayé environnant les chemin avec des guillemets doubles ( " ), mais la console valide la saisie et ne permettent pas d': "Arguments ne peuvent pas contenir '"'"
Même édition de la config.xml fichier manuellement ne peut pas fonctionner, car l'admin server ne parvient pas à démarrage après:
<Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: [Management:141266]Parsing failure in config.xml: java.lang
.IllegalArgumentException: Arguments may not contain '"'.>
J'ai aussi essayé d'utiliser %20 vain, il est juste passé que 20%.
J'ai pensé que peut-être que cela a quelque chose à voir avec les espaces de la valeur de %USERPROFILE%
(qui est "C:\documents et les paramètres de.."), mais la même chose se produit avec d'autres env. les variables qui pointent vers d'autres répertoires, sans espaces.
Ma question:
Est-il pris en charge :
- à l'aide de guillemets? si je dois faire référence à un dossier avec des espaces dans son nom?
- référence à une variable d'environnement? Que faire si je dois compter sur elle de la valeur pour les serveurs distribués où je ne sais pas à l'avance la valeur de la variable?
Oui, je le suis. Merci Jeff pour le pointage, j'ai voulu dire. Je n'ai pas encore essayer d'utiliser la même chose avec ${VARIABLE_NAME} sur linux, je ne peux que supposer qu'il aurait le même résultat.
OriginalL'auteur talya.gendler | 2012-09-27
Vous devez vous connecter pour publier un commentaire.
Modifier sur la base des observations:
Approche 1:
export SERVER_NAME
dans Linux ou pourset SERVER_NAME
dans Windows. Passer à côté de la ligne suivante (j'.e saut de courant et de la ligne suivante)Sur la ligne, insérer:
Remarque que j'ai seulement donné la logique de Linux , pour Windows, la logique est similaire peut être utilisé, mais avec lot syntaxe de script.
Approche 2:
En supposant que le domaine est déjà installé et que l'utilisateur fournit la liste des serveurs auxquels l'argument JVM
-Dmy.property
doivent être ajoutés. Script Jython (utilisation wlst.sh à exécuter). WLST de Référence.Utilisation:
wlst.sh script_name props_file_location
Script doit être exécuté à partir de tous les hôtes, où la gestion des serveurs vont être déployés afin d'avoir l'hôte de la valeur spécifique de la "USERPROFILE" l'argument JVM.
BTW, pour répondre à votre question en ligne : ressemble à la JVM arguments doivent être fournies avec le sens littéral du texte par la suite. Mais on dirait que WLS ne pas traduire les variables d'environnement si à condition que les arguments JVM. Il donne une impression que c'est la traduction quand c'est fait à partir de startWebLogic.cmd (ex: à l'aide d' %DOMAIN_HOME% etc.) mais sa coquille/cmd exécuteur testamentaire qui traduit et commence alors la JVM.
Pour être plus précis, ce dont j'ai besoin est une manière de définir cette JAVA_OPTION pour tout sous-ensemble de serveurs dans le domaine, éventuellement distribués. Le sous-ensemble est déterminé par l'entrée de l'utilisateur et n'est pas connu pour moi à l'avance.
Et vous définissez la ServerStart arguments de façon dynamique pour les serveurs (entrée par l'utilisateur) lors de la création du domaine?
Le domaine pré existe, créé par l'utilisateur. Pour installer mon utilitaire, il fournit comme entrée les noms des serveurs, il est intéressé. Alors, ce que je voudrais faire, c'est de modifier le serveur de commencer arguments (JAVA_OPTIONS) pour chacun de ces serveurs. Chacun de la même manière - ajout de la propriété, qui s'appuie sur un env. variable sur l'un des serveurs gérés, dont certains peuvent être distribués et sur des machines distantes.
Ok. C'est bon d'entendre. Je n'ai pas d'expliquer les scripts cycle assez clairement, je suppose. J'espère que vous compris comment il fonctionne. Fondamentalement, de son comme ceci : startManagedWebLogic.sh -> startWebLogic.sh -> setDomainEnv.sh . Toute variable les valeurs avec "exporter ou" utilisés seront reportés.
OriginalL'auteur Mani