7
votes

Dépendances mavennes pour les forfaits WebSphere IBM

J'essaie de convertir un projet Java EE "classique", à l'aide d'IBM WebSphere 8.0.0.5, dans un projet Maven Multi Module et de faire face à des problèmes avec les dépendances IBM.

Nous utilisons des cours IBM à partir des forfaits suivants: p>

  • com.ibm.websphere.asynchbeans li>
  • com.ibm.websphere.schédale Li>
  • com.ibm.websphere.ce.cm li>
  • com.ibm.ws.asynchbeans li>
  • com.ibm.ws.util.threadpool li> ul>

    Pour que mon projet local soit compilé, j'ai téléchargé le was.installer-8.0.0.pm de IBM et l'a installé à mon maven en utilisant p> xxx pré>

    Cette étape consistait à réussir en fonction de la sortie de ligne de commande. P>

    J'ai ensuite ajouté les dépendances suivantes à mon projet comme décrit à partir d'IBM: P>

    parent: p> xxx pré>

    dans le module: p> xxx pré>

    mais je ne peux toujours pas compiler mon projet car les packages IBM ne sont pas trouvé. P>

    Quelqu'un peut-il m'aider à trouver et à corriger une erreur que j'ai faite? p>

    EDIT P>

    Après avoir suivi la pointe de bevynq du Commentaires J'ai copié le "was_public.jar" à "was_public-8.0.0.jar" (décrit à IBM ici ) et l'a ajouté à mon référentiel: P>

    <dependency>
      <groupId>com.ibm.websphere.ws</groupId>
      <artifactId>com.ibm.ws.runtime</artifactId>
      <version>1.0.0</version>
    </dependency> 
    


2 commentaires

Je ne pense pas que cela fonctionnera. Vous souhaitez installer les bibliothèques requises dans votre magasin local. Maven.apache.org/Guides/mini/Guide- 3rd-parti-jars-local.html . Le pom ne suffit pas


J'ai édité ma question après avoir essayé votre conseil et je pourrais obtenir le com.ibm.websphere à compiler, mais il manque toujours plusieurs des com.ibm.ws ceux. Quelqu'un sait comment les obtenir?


3 Réponses :


3
votes

en général, com.ibm.websphere est une API publique à utiliser par des applications (ceci est vrai des packages que vous avez énumérés ci-dessus) qui correspond à ceux-ci dans was_public.jar < / code>

Toutefois, com.ibm.ws est généralement des internaux de produit. Puis-je vous demander quelles méthodes d'interface utilisez-vous dans le package com.ibm.ws.asynchbeans ? Peut-être qu'il y a une alternative d'API publique.

concernant commonJ.work , le seul endroit où je peux trouver ceci dans l'image du produit WebSphere Application Server est was / plugins / com.ibm.ws.prereq.commonj-twm.jar Donc, on dirait que vous devrez utiliser cela pour compiler contre.


2 commentaires

Les utilisateurs ne doivent pas accéder au contenu de WAS_HOME / Plugins / directement, cela devrait probablement être considéré comme un problème de produit. Des aps ont été pris pour d'autres API qui n'étaient pas disponibles dans WAS_Home / Dev / (par exemple, www-01.ibm.com/support/docview.wss?uid=swg1pm85738 ).


Par exemple, nous utilisons le workmanagerimpl à partir du package com.ibm.ws.asynchbeans. Je ne sais pas si je suis "autorisé" à changer les bibliothèques car il s'agit d'un module productif et de la migration pour Maven et CI est (au stade actuel), une première étape pour rassembler l'expérience avec Maven et pour pouvoir faire CI à l'avenir. Merci pour l'indice dans lequel les fichiers JAR CommonJ sont. Hier, j'ai reçu une notification d'une entreprise de grande entreprise où les fichiers IBM sont de sorte que c'est un moyen d'essayer maintenant. Mais je garderai votre réponse à l'esprit et je vais y répondre plus tard.



1
votes

Voici la solution, donc j'ai résolu mes problèmes de dépendance:

  1. J'ai configuré le gestionnaire de référentiel de société (Nexus) comme miroir. Dans ce Nexus, tous les paquets IBM sont présents. Comme vous pouvez penser que résolu le problème principal.
  2. J'ai ensuite ajouté les dépendances suivantes selon le style Maven commun:

    dépendances dans pom.xml (numéros de version extraits sur les propriétés): xxx

    désolé je ne peux pas fournir " Nice "solution utilisable par toutes les personnes mais la réponse de njr et le commentaire de bevynq a aidé beaucoup à mieux obtenir le problème et aidé à résoudre le problème dans un" plus manuel "Way en copiant les pots nécessaires à la main.


1 commentaires

Comment Nexus résolvez-vous les paquets IBM? Ont-ils été ajoutés là-bas manuellement (par exemple, un référentiel tiers)?



1
votes

J'étais confronté à ce problème car j'ai essayé de créer un projet à l'aide de Maven Version 3.3.9, en cours d'exécution sur Java version 1.8.0_101, comme décrit dans la capture d'écran:

 Entrez la description de l'image ici

C'est comme ça que j'ai résolu: Étape 1. Téléchargez le CommonJ.jar de ici . ÉTAPE 2. Déterminez quel JDK votre Maven utilise en tapant MVN -Version dans l'invite de commande. Entrez la description de l'image ici

étape 3. aller dans ce répertoire et placez le fichier commonj.jar dans le répertoire jre / lib / ext , comme indiqué au dessous de. Maintenant, votre projet devrait construire dans Maven sans aucun problème.

 Entrez la description de l'image ici


0 commentaires