maven 缺少依赖项 jta-1.0.1b

Posted

技术标签:

【中文标题】maven 缺少依赖项 jta-1.0.1b【英文标题】:maven missing dependency jta-1.0.1b 【发布时间】:2014-06-10 17:42:26 【问题描述】:

我正在尝试使用 maven 构建我的 java hibernate 项目。 但是当我尝试这样做时,似乎有一个依赖项不可用?

我的项目中现在有这个 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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>net.viralpatel.hibernate</groupId>
  <artifactId>HibernateHelloWorldXML</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>HibernateHelloWorldXML</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>ejb3-persistence</artifactId>
      <version>1.0.1.GA</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-annotations</artifactId>
      <version>3.3.1.GA</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.10</version>
    </dependency>
  </dependencies>
</project>

当我尝试使用 mvn 构建时,我收到此错误:

[WARNING] An error occurred during dependency resolution.
    Failed to retrieve javax.transaction:jta-1.0.1B
Caused by: Failure to find javax.transaction:jta:jar:1.0.1B in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will
 not be reattempted until the update interval of central has elapsed or updates are forced

Try downloading the file manually from:
    http://java.sun.com/products/jta

Then, install it using the command:
    mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there:
    mvn deploy:deploy-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -Drepository
Id=[id]

Path to dependency:
        1) net.viralpatel.hibernate:HibernateHelloWorldXML:jar:1.0-SNAPSHOT
        2) org.hibernate:hibernate-annotations:jar:3.3.1.GA
        3) org.hibernate:hibernate:jar:3.2.6.ga
        4) javax.transaction:jta:jar:1.0.1B


  javax.transaction:jta:jar:1.0.1B

from the specified remote repositories:
  central (http://repo.maven.apache.org/maven2, releases=true, snapshots=false)

我搜索了这个错误,发现很多人不得不在他们的 pom.xml 文件中更改他们的 hibernate-core 依赖版本,但似乎我没有 hibernate-core,所以我该如何解决这个问题?

【问题讨论】:

Missing javax.transaction.jta artifact的可能重复 【参考方案1】:
<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate</artifactId>
 <version>3.3.2.ga</version>
</dependency>

它具有 JTA 1.1 的推荐依赖项。

您可以在 pom.xml 或 settings.xml 中添加“http://download.java.net/maven/2”作为新存储库

  <repository>
        <id>java.net.m2repo</id>
        <name>java.net Maven 2 Repository</name>
        <url>http://download.java.net/maven/2/</url>
        <layout>default</layout>
    </repository>

对于 Sun 或 oracle 提供的任何 JEE 库.. 添加以下存储库

 <repositories>
    <repository>
        <id>GlassFish</id>
        <name>GlassFish Maven Repository</name>
        <url>http://download.java.net/maven/glassfish/</url>
    </repository>
    <repository>
        <id>java.net.m1repo</id>
        <name>java.net Maven 1 Repository</name>
        <url>http://download.java.net/maven/1/</url>
        <layout>legacy</layout>
    </repository>
    <repository>
        <id>java.net.m2repo</id>
        <name>java.net Maven 2 Repository</name>
        <url>http://download.java.net/maven/2/</url>
        <layout>default</layout>
    </repository>
</repositories> 

【讨论】:

这对我不起作用。我认为更改 Hibernate 版本不是一个好主意。由于 Jta 版本是问题的原因,我已经更改了 Jta 的版本,然后它现在可以工作了。【参考方案2】:

我有同样的问题,我已经从http://www.java2s.com/Code/Jar/j/Downloadjta101Bjar.htm手动下载了jta-1.0.1B.jar文件

我正在使用 Netbeans7.3。我在项目中展开了依赖项文件夹,发现 jta-1.0.1B.jar 带有黄色小图标(表示错误)。然后我右键单击并使用“手动安装工件”选项并指向文件 jta-1.0.1B.jar 的位置。解决了。

【讨论】:

这在 Eclipse 中对我有用。必须手动将 jar 放入我的本地 Maven 存储库 C:\Users\Home\.m2\repository\javax\transaction\jta\1.0.1B 这也对我有用,也感谢 Eric 指定了我需要放入的确切路径,这真的为我节省了一些时间! 对我来说手动放置文件不起作用。我不得不执行 -Dfile=D:\jta-1.0.1B.jar -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar【参考方案3】:

请在 pom.xml 中添加以下 repo -

<repositories>
  <repository>
        <id>maven2-repository.dev.java.net</id>
        <name>Java.net Repository for Maven</name>
        <url>http://download.java.net/maven/2/
        </url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories> 

【讨论】:

【参考方案4】:

步骤:1 我也有同样的问题,我从http://www.java2s.com/Code/Jar/j/Downloadjta101Bjar.htm手动下载了jta-1.0.1B.jar文件并保存在F盘。

步骤:2 运行以下命令 mvn install:install-file -Dfile=F:\jta-1.0.1B.jar -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar

【讨论】:

【参考方案5】:

您可以从 http://www.java2s.com/Code/Jar/j/Downloadjta101bjar.htm 下载此 jar,并使用以下命令将其安装到本地 maven 中:

mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1.0.1b.jar

【讨论】:

以上是关于maven 缺少依赖项 jta-1.0.1b的主要内容,如果未能解决你的问题,请参考以下文章

尝试导入maven项目,但导入后eclipse中缺少一些依赖项

执行 maven-assembly-plugin 后输出中缺少依赖项

带有 Gradle 的 POM 中缺少 Android 库依赖项

Jeddict 插件安装失败 - Apache Netbeans 12 - 缺少“Maven Projects”插件依赖项

Maven 依赖项 - 版本与更新

什么是传递性 Maven 依赖项?