我安装了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”。
答案 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制作你的超级罐