2009-06-25 65 views
19

我厌倦了在Maven中手动安装javax jar文件,并想知道在javax.cache,javax.transaction或其他在Maven存储库中不容易找到的JSRs的依赖关系的最佳解决方案。如何在Maven中添加javax。*依赖项?

+0

作为一个方面说明。由于Java现在是开源的,我们可以摆脱这些荒谬的下载限制吗? – pjesi 2009-06-26 19:44:25

+0

JTA的问题是二进制分发许可证。我知道,它很烂 – 2009-06-27 16:43:03

回答

11

你见过http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html

此链接建议使用groupID和artifactID,以及java.net存储库。

在我看来,这个命名方案中的几乎所有这些存在于中央Maven仓库中。

+0

感谢您的链接,它帮助了很多。但是,它并没有帮助我找到javax.cache。有任何想法吗? – pjesi 2009-06-26 19:42:01

5

我不知道一个的,但加入java.net库可以帮助您与这些依赖关系:

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

javax.cachejcache:jcache:1.0-XXX神器(在Maven的中央回购)

<dependency> 
    <groupId>jcache</groupId> 
    <artifactId>jcache</artifactId> 
    <version>1.0-dev-2</version> 
</dependency> 

javax.transaction.*类在javax.transaction:jta:1.1工件,因为太阳的二进制许可证(我知道,这很糟糕),JTA jar不能插入到Maven存储库中。要使用它,您需要手动下载JAR(它是免费的),并将其放入本地存储库或使用java.net中包含的1.0.1B版本。

注:我在一些地方JTA将被集成在JDK

我知道以后的版本读的是真的找到Maven的仓库,这些文物痛苦,但你可以做一个搜索的在www.mvnrepository.com类中,它会向您显示大多数所有软件包的正确groupId和artifactId。

+0

Javax.transaction 1.0.1B在http://download.java.net/maven/2 – 2009-06-28 19:17:11

4

如果建立在多个盒子和/或团队开发上,本地(内联网)maven仓库管理器可以帮助解决这些“缺失”瓶子问题。这不仅集中了不在公共存储库中的第三方罐的配置和管理,而且集中了所有外部存储库。它还可以帮助自动化构建,创建更多的“可重现”构建(例如,如果您拥有一个持续集成服务器池)。

  1. 安装mvn repo mgr(查看列表 - imo,nexus开头真的很简单);
  2. 使用包含指向您的Intranet mvn回购管理器的“镜像”部分的自定义settings.xml。或者更新你的〜/ .m2/settings.xml,或者使用“mvn -s etc/settings.xml”运行maven - 对于你不需要自定义的per-user settings.xml的hudson版本很有用;
  3. 手动将您的'问题'罐子上传到您的内部仓库(再次,通过网络界面超级简单W/Nexus);
  4. 将内部mvn repo mgr设置为repo1.maven.org/maven2,codehaus,java.net,...(等)的“镜像”。

现在,你可以集中定义所有的第三方库&第三方jar文件 - 而不是要求每个人,每个箱子和/或每个项目在他们的POM或settings.xml中单独定义它们。每个项目/人员/箱子只会将您的中央内部Maven回购定义为所有Maven项目的单个回购。

这也真的加快您的工件重新下载时间为新的版本,或者当您需要(或想要)删除您的本地〜/ .m2 /资源库缓存时。

回购经理:承上启下,archiva,artifactory的......例如,:maven.apache.org/repository-management.html - http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix

1

在JTA的特定情况下,我打这个帖子:

http://www.jugpadova.it/articles/2005/11/26/maven-2-spring-and-jta-depencies 

..这是有道理的,如果我不必花费大量的时间在Oracle的可怕的网站上得到前面提到的JAR文件。 (我本人也是甲骨文的爱好者,但该网站可以在这里和那里使用大量的UX返工)。

我决定更换什么Hibernate提供,通过Geronimo的,按照这个帖子的依赖(非常完美):

https://forum.hibernate.org/viewtopic.php?p=2420836 

与Java许可和Maven该交易目前正由Hibernate的团队合作上,或者看起来在这里:

https://hibernate.onjira.com/browse/HHH-4548 

感谢大家分享!

相关问题