web-dev-qa-db-fra.com

Artefact manquant javax.transaction: jta: jar: 1.0.1B (le problème était différent car vous pouvez voir que la résolution est différente)

J'essaie d'apprendre Hibernate-Spring-Struts en utilisant l'exemple ici .

Mais après avoir créé le pom.xml obtenir cette erreur:

Missing artifact javax.transaction:jta:jar:1.0.1B

J'ai progressé jusqu'à la création du fichier pom.xml et apporté les modifications pour inclure les bibliothèques les plus récentes. Voici mon pom.xml:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>S3HMaven</groupId>
<artifactId>S3HMaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>S3HMaven</name>
<url>http://maven.Apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.0.1B</version>
    </dependency>

    <!-- Struts 2 -->
    <dependency>
        <groupId>org.Apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.1.8</version>
    </dependency>

    <!-- Struts 2 + Spring plugins -->
    <dependency>
        <groupId>org.Apache.struts</groupId>
        <artifactId>struts2-spring-plugin</artifactId>
        <version>2.3.15.2</version>
    </dependency>

    <!-- MySQL database driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-Java</artifactId>
        <version>5.1.26</version>
    </dependency>

    <!-- Spring framework -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>2.5.6</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>2.5.6</version>
    </dependency>

    <!-- Hibernate core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate</artifactId>
        <version>3.2.7.ga</version>
    </dependency>

    <!-- Hibernate core library dependency start -->
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>

    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>
    <!-- Hibernate core library dependency end -->

    <!-- Hibernate query library dependency start -->
    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.7</version>
    </dependency>
    <!-- Hibernate query library dependency end -->

</dependencies>
</project>

J'ai essayé avec et sans dépendance pour javax.transation. N'a pas fait la différence. Quelqu'un peut-il me dire ce que je fais mal? Que dois-je faire pour m'en débarrasser?

16
Patty

L'erreur dans votre pom.xml parce que vous bousillez différentes versions du noyau et des plugins de Struts. 

Changement

<dependency>
    <groupId>org.Apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.15.2</version>
</dependency>

Je ne sais pas pourquoi avez-vous besoin de JTA 1.0.1B mais vous pouvez changer le mode hibernation en 3.3.2 (au moins sans maux de tête)

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.3.2.ga</version>
</dependency>

il a une dépendance recommandée pour JTA 1.1.

Créez un nouveau projet à partir de pom.xml puis ajoutez-y des fichiers source. 

8
Roman C

Dans mon cas, j'ai essayé l'exemple de Mkyong

Exemple d'intégration d'hibernation de printemps avec jsf-2.0

Quand j’ai eu l’exception, j’ai cherché beaucoup, j’utilisais un outil à mailles de printemps, et Eclipse MARS avec JDK 8, le solution

J'ai remplacé pom par 1.1 au lieu de 1.0.1B

<dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
</dependency>

Et s'il ne peut pas être téléchargé automatiquement depuis m2 repo, vous devez le télécharger manuellement (vous pouvez le vérifier dans le dépôt dans le dossier C:\Users\pc1\.m2\repository\javax\transaction\jta\1.1\jta-1.1.jar)

et vérifiez la dépendance maven dans les propriétés du projet, cela ne devrait pas vous donner d'erreur dans l'onglet lib.

Références:référence 1référence 2référence 3référence 4référence 5

_ {Des problèmes connexes peuvent apparaître après la résolution de ce problème si vous appliquez le didacticiel:

1 - http://www.mkyong.com/web-development/the-web-xml-deployment-descriptor-examples/

2 - http://jonathan.lalou.free.fr/?p=2026

3 - Erreur lors de la création du bean avec le nom 'sessionFactory' Impossible d'instancier le tuplizer par défaut [org.hibernate.Tuple.entity.PojoEntityTuplizer]Erreur Tomcat: introuvable dans ExternalContext en tant que ressource

26
shareef

Quel dépôt utilisez-vous?

Ajoutez le répertoire Java.net Maven comme indiqué ci-dessous.

<repository>
    <id>Java.net</id>
    <url>http://download.Java.net/maven/2/</url>
</repository>

Ce repo a fonctionné pour moi: 

   <repository>
           <id>webpublico-repository</id>
                <name>Webpublico Nexus Repository</name>
                <url>http://repository.webpublico.com.br/repository/maven-public/</url>
   </repository>
1
Gustavo Rozolin

une approche de Impossible de résoudre la dépendance de javax.transaction

effacez le dossier .ivy/cache. cela fonctionne, mais prend très longtemps

1
zinking

Pour le moment, cela peut être inutile. Mais je pense que nous devrions mettre à jour ce ticket pour quelqu'un.

Ça marche pour moi. Changer porm.xml

<dependency>
    <groupId>org.Apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.5.16</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.3.3.Final</version>
</dependency>
0
tienph