如何使用Maven获取所有必需的Apache POI库?

时间:2014-08-14 10:30:18

标签: java maven jar apache-poi

我安装了maven并使用此命令创建了一个项目:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

结果是在my-app文件夹中创建了2个文件夹和1个文件:src,target和pom.xml。

然后我修改pom.xml以获得所有必需的apache POI jar。

<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>com.mycompany.my-app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>

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

    <!-- This is what I added -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.10-FINAL</version>
    </dependency>
  </dependencies>
</project>

然后我跑:

mvn package

但是没有罐子下载到项目文件夹中,尽管我收到了消息“BUILD SUCCESS”。

2 个答案:

答案 0 :(得分:4)

您所做的是正确的。但是,poi jars不会下载到您的项目文件夹,而是下载到您当地的Maven存储库。这正是Maven应该做的事情,这样你就不必自己管理很多图书馆/罐子并且弄得一团糟。如果您搜索本地Maven存储库,您应该在那里找到它。

我还建议您阅读Maven如何使用外部依赖项,这一点在这里解释: http://maven.apache.org/guides/getting-started/index.html#How_do_I_use_external_dependencies

如果您想将所有相关的罐子打包到一个大罐子里,请看这里: How can I create an executable JAR with dependencies using Maven?

答案 1 :(得分:1)

您的项目有jar包装类型。 Java不支持嵌套jar,然后maven包不会在你的项目中放任何jar。要做到这一点,你必须使用Maven Assembly Plugin或使用Spring-boot制作你的超级罐