[JAVA] Que faire lorsqu'un artefact manquant se produit dans un fichier jar qui n'est pas défini dans pom.xml

--Environnement - CentOS Linux release 7.6.1810 (Core) - Apache Maven 3.2.5

Événement: je me suis mis en colère lorsque j'ai sélectionné un projet dans Eclipse> [Maven]> [Mettre à jour le projet ...]

[Problems]Erreur de tabulation


Missing artifact javax.resource:connector:jar:1.0
Missing artifact javax.transaction:jta:jar:1.0.1B

Même si vous grep le pom.xml du projet, une telle définition n'existe pas ...

$ grep -rn connector --include=pom.xml
$ grep -rn jta --include=pom.xml
$

Cause: pom.xml Il n'y a pas de jar dépendant du jar défini.

essai et erreur

Ouvrez le pom.xml du projet dans Eclipse> Ouvrez l'onglet Hiérarchie des dépendances> Recherchez le nom du pot dans Filtre "Je l'ai trouvé!" C'était un pot qui dépendait de jotm ...

image.png Vérifiez jotm dans pom.xml et recherchez avec Maven Repository: Search / Browse / Explore.

pom.xml


...réduction...
<dependency>
  <groupId>jotm</groupId>
  <artifactId>jotm</artifactId>
  <version>2.0.10</version>
  <scope>provided</scope>
  <exclusions>
...réduction...

image.png

Vérifiez le pom de jotm

$ cat ~/.m2/repository/jotm/jotm/2.0.10/jotm-2.0.10.pom
...réduction...
    <dependency>
      <groupId>javax.transaction</groupId>
      <artifactId>jta</artifactId>
      <version>1.0.1B</version>
    </dependency>
...réduction...
    <dependency>
      <groupId>javax.resource</groupId>
      <artifactId>connector</artifactId>
      <version>1.0</version>
    </dependency>

Recherchez Maven Repository: Search / Browse / Explore Pendant un moment, j'ai pensé «Êtes-vous là!», Et quand j'ai appuyé sur le lien [jar], j'ai obtenu «404 Not Found» ... Les deux pots en erreur étaient dans le même état.

image.png image.png

Action 1: changer la version du jar définie dans pom.xml

Si vous recherchez à nouveau le jotm défini dans pom.xml avec Maven Repository: Search / Browse / Explore C'était Remarque: Cet artefact a été déplacé vers: org.ow2.jotm» jotm. image.png

En suivant le lien, j'ai décidé d'utiliser la version la plus ancienne de 2.1.1 dans ʻorg.ow2.jotm» jotm`.

Pom après changement.xml


...réduction...
    <dependency>
      <groupId>org.ow2.jotm</groupId>
      <artifactId>jotm</artifactId>
      <version>2.1.1</version>
      <type>pom</type>
      <exclusions>
...réduction...

Solution de contournement 2: installez le jar qui dépend du jar avec Maven

Référence: Comment spécifier une bibliothèque qui n'est pas dans le référentiel Maven dans pom.xml --grep Tips Comment dire "La version ne peut pas être modifiée!" De jotm

  1. Récupérez le pot devenu "Artefact manquant" ――Je ferai de mon mieux pour l'obtenir depuis le répertoire ~ / .m2 / repository dans l'environnement de quelqu'un ou quelque part sur Internet.
  2. Stockez le fichier jar dans le répertoire WEB-INF / lib / du projet pour ne pas le perdre
  3. Installez avec Maven
  1. Dans Eclipse, faites [Maven]> [Mettre à jour le projet ...]
#Allez à l'emplacement du pot
$ cd path/to/WEB-INF/lib/

#Installer le pot avec Maven
$ mvn install:install-file -Dfile=jta-1.0.1B.jar -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
[INFO] Scanning for projects...
...réduction...

$ mvn install:install-file -Dfile=connector-1.0.jar -DgroupId=javax.resource -DartifactId=connector -Dversion=1.0 -Dpackaging=jar
[INFO] Scanning for projects...
...réduction...

#Puis maven avec pot-metadata-local.xml est créé
$ find ~/.m2/repository/javax/ -iname *.xml
/home/ponsuke/.m2/repository/javax/resource/connector/maven-metadata-local.xml
/home/ponsuke/.m2/repository/javax/transaction/jta/maven-metadata-local.xml

Recommended Posts

Que faire lorsqu'un artefact manquant se produit dans un fichier jar qui n'est pas défini dans pom.xml
Que faire lorsqu'un message d'avertissement est affiché dans la liste des pip
NameError: le nom global'dot_parser 'n'est pas défini et que faire quand il apparaît en python
Que faire si une erreur de décodage Unicode se produit dans pip
[Python] Erreur de type: l'objet 'WebElement' n'est pas itérable Que faire lorsqu'une erreur se produit
Que faire quand n'est pas dans le fichier sudoers. Cet incident sera signalé.
Que faire lorsqu'une erreur de suppression se produit lors de la mise à jour de conda
Que faire si une erreur 0xC0000005 se produit dans tf.train.start_queue_runners ()
Que faire quand UnicodeDecodeError se produit pendant read_csv dans pandas (pd.read_table ())
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
Que faire lorsque le type de valeur est ambigu en Python?
Que faire s'il y a un décimal dans python json .dumps
Que faire lorsque le résultat téléchargé via scrapy est en anglais
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
[OSX] [pyenv] Que faire lorsqu'une erreur SSL se produit dans pip
Que faire quand une PermissionError dans tempfile.mkstemp se produit
Que faire si CERTIFICATE_VERIFY_FAILED se produit lorsque nltk.download () est effectué sur macOS pyhon
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête
Que faire lorsqu'un avertissement apparaît autour de l'intégration de Python dans CheckHealth de Neovim
Que faire si une erreur de codage Unicode se produit dans Sublime Text Python
Que faire lorsque "TypeError: type de données non compris" apparaît dans numpy.zeros de python
Que faire si l'abandon s'affiche lors de la saisie d'une vidéo de caméra dans OpenCV
Que faire lorsque le graphique n'apparaît pas sur le notebook Jupyter (IPython)
Que faire si NotADirectoryError: [Errno 20] Pas un répertoire: 'xdg-settings' apparaît dans le notebook jupyter
Que faire si une erreur de version se produit dans le pilote Selenium Chrome
[EC2] Que faire lorsque le sélénium est bloqué et que le traitement ne se poursuit pas
Que faire si vous obtenez l'erreur RuntimeError: Python n'est pas installé en tant que framework lorsque vous essayez d'utiliser matplitlib et pylab dans Python 3.3
curl: (60) Que faire lorsque le certificat de l'émetteur n'est pas valide.
Que faire lorsque gdal_merge génère un fichier énorme
Que faire si pyenv n'est pas activé (zsh)
Comment utiliser une bibliothèque qui n'est pas initialement incluse dans Google App Engine
Que faire lorsque seule la fenêtre est affichée et que rien ne s'affiche dans le pygame
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Que faire si vous ne voyez pas IntelliSense de Python dans VS Code sous Windows
Que faire lorsque la police PyCharm est étrange ou déformée
Que faire s'il n'y a pas de réponse en raison des paramètres de proxy dans le scraping Web Python
Que faire si l'image n'est pas affichée à l'aide de matplotlib etc. dans le conteneur Docker
Que faire lorsqu'une erreur se produit avec import _ssl
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
Que faire lorsque "En-tête HTTP_HOST non valide" apparaît dans Django
Que faire si ʻObject arrays ne peut pas être chargé quand allow_pickle = False` se produit dans numpy.load ()
[Débutant] Que faire lorsque "[Errno 2] Le fichier b'test.csv 'n'existe pas: b'test.csv" s'affiche lors de la lecture du csv des pandas
[virtualbox] Que faire lorsque [Impossible de récupérer la liste des miroirs] apparaît lorsque la mise à jour yum est effectuée sur CentOS7
Que faire lorsqu'une partie de l'image d'arrière-plan devient transparente lorsque l'image transparente est combinée avec Oreiller
Que faire si vous obtenez une erreur de remplacement obligatoire `get_config` lorsque vous essayez de model.save avec Keras
[AWS] Que faire lorsque la commande ping provoque un "délai d'expiration"
Que faire si vous obtenez moins zéro en Python
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Que faire lorsque les paramètres de l'extension jupyterlab ne sont pas reflétés
Que faire si «Sans nom: 0» est ajouté dans to_csv-> read_csv des pandas
Que faire quand Ubuntu plante
[Python] Que faire en cas de violation de PEP8 lors du processus d'importation à partir du répertoire ajouté à sys.path
Comment écrire quoi faire lorsque l'application est affichée pour la première fois dans Qt pour Python avec Designer
Que faire si une erreur de lien symbolique se produit dans l'importation cv lors de la tentative d'installation d'OpenCV en Python
Que faire lorsque vous vous fâchez que libxml / xmlversion.h n'existe pas lorsque vous mettez lxml avec pip
[Mémorandum] Que faire lorsqu'un avertissement apparaît après l'exécution de pip list
[Python] Que faire lorsqu'une erreur liée à l'authentification SSL est renvoyée