【问题标题】:Add dependency in maven project for j2ee.jar在 maven 项目中为 j2ee.jar 添加依赖项
【发布时间】:2011-11-02 17:18:06
【问题描述】:

j2ee.jar 的 maven 依赖项是什么。我试过这样做。但它仍然无法正常工作..

    <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>com.datasource.pooling</groupId>
  <artifactId>datasource.pooling</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>com.datasource.pooling</name>

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


  <dependencies>

  <!-- Javaee API -->
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
    </dependency>



  <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0</version>
        </dependency>


<dependency>
      <groupId>commons-pool</groupId>
      <artifactId>commons-pool</artifactId>
      <version>1.5.4</version>
    </dependency>

    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.2.2</version>
    </dependency>
<!--  
<dependency>
      <groupId>commons-pool</groupId>
      <artifactId>commons-pool</artifactId>
      <version>1.5.6</version>
    </dependency>

    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.3</version>
    </dependency>
 -->

  </dependencies>
</project>

我正在尝试在我的 maven 项目中配置这个 http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/PoolingDriverExample‌​.java?view=markup 示例。因此,我必须将 j2ee.jar 添加到我的类路径中。但是如果我在 pom.xml 中添加上面的内容,那么我会收到一些错误,因为 ConnectionFactory 无法解析为类型

更新-

<!-- Javaee API -->
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
        <scope>runtime</scope>
    </dependency>

我仍然收到 ConnectionFactory 的相同错误无法解析为类型..

【问题讨论】:

  • 为什么commons-pool 和commons-dbcp 依赖项被注释掉了,这就是问题中sn-p 上面的内容。如果您的 POM 中也是这种情况,请取消注释它们。
  • 我注释掉的部分只是不同的版本。我在未注释部分的上方有 commons-pool 和 commons-dbcp 依赖项..!!
  • 你能复制粘贴你遇到的错误吗?还要检查这个类是否真的在类路径中(特别是在你的 javaee-api.jar 中)。这个 jar 是否完全下载并位于正确的位置(war/ear/etc)?

标签: java maven pom.xml


【解决方案1】:

您指定的 repo 不提供该版本:6.0

你指定的仓库有http://download.java.net/maven/glassfish/javax/javaee/javaee/

  1. 5.0-SNAPSHOT/2008 年 2 月 14 日 15:04 1K
  2. 6.0-alpha-1/ 2008 年 4 月 16 日 17:36 1K
  3. 6.0-alpha-2-SNAPSHOT/ 2008 年 4 月 23 日 08:31 1K

您可能想使用http://repo1.maven.org/maven2,它确实提供了您指定的资源和版本。

此外,您的范围应该是“提供”的。有一个运行时作用域告诉 maven 运行时需要依赖,而不是编译。你需要相反的。编译需要您的依赖项,但运行时不需要,因为它是由容器“提供”的。详情请见http://maven.apache.org/pom.html

【讨论】:

  • j2ee.jar 应该是提供的依赖项。不是来自任何 maven repo,而是来自容器 lib folde.r
【解决方案2】:

您可以使用 maven 依赖插件检查传递依赖。 做一个

  mvn dependency:tree

希望这能回答您的问题。

【讨论】:

  • 我想知道这是在 Maven 依赖项中将 j2ee.jar 添加到类路径中的正确方法。因为我不这么认为这是正确的方法..!!
猜你喜欢
  • 1970-01-01
  • 2017-03-07
  • 2020-01-20
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多