Отсутствует артефакт javax.transaction: jta: jar: 1.0.1B (Проблема была иной, поскольку вы можете видеть, что разрешение отличается)

Я пытаюсь изучить Hibernate- Spring -Struts, используя пример здесь.

Но после создания pom.xml получения этой ошибки:

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

Я достиг прогресса только до создания файла pom.xml и внес изменения в самые последние библиотеки. Вот мой 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>

Я пробовал с и без зависимости от javax.transation. Разница не изменилась. Может ли кто-нибудь сказать мне, что я делаю неправильно? Что мне делать, чтобы избавиться от него?

Ответы

Ответ 1

Ошибка в вашем pom.xml, потому что вы испортили разные версии ядра и плагинов Struts.

Изменить

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

Я не знаю, зачем вам JTA 1.0.1B, но вы можете изменить спящий режим на 3.3.2 (по крайней мере, без головных болей)

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

у него есть рекомендуемая зависимость для JTA 1.1.

Создайте новый проект из pom.xml, затем добавьте к нему исходные файлы.

Ответ 2

В моем случае я попробовал пример из mkyong

jsf-2.0 spring пример интеграции спящего режима

Когда я получил исключение, я искал alot, я использовал spring sts suit tool, а eclipse MARS с JDK 8 - -

Я изменил pom на 1.1 вместо 1.0.1B

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

И если он не может быть загружен автоматически из m2 repo, вы должны скачать его вручную (вы можете проверить это в репо в папке C:\Users\pc1\.m2\repository\javax\transaction\jta\1.1\jta-1.1.jar)

и проверьте зависимость maven от свойств проекта, она не должна вызывать ошибки на вкладке lib.

Ссылки: ссылка 1 ссылка 2 ссылка 3 ссылка 4 ссылка 5

Связанные проблемы могут возникнуть после того, как вы решите это, если вы применяете учебное пособие:

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

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

3- Ошибка при создании bean с именем "sessionFactory" Невозможно создать экземпляр tuplizer по умолчанию [org.hibernate.tuple.entity.PojoEntityTuplizer] Ошибка Tomcat: не найден в ExternalContext как ресурс

Ответ 3

Какой репозиторий вы используете?

Добавьте java.net репозиторий Maven, как показано ниже.

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

Ответ 5

Это репо работало для меня:

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