那么,这里有几个问题在工作。 Maven花费了很多精力来搞清楚你的库的构建和下载所需的所有依赖关系。这些依赖关系在本地存储在Maven仓库(<user home>/.m2/repository
)中,但除非它们作为程序集的一部分被需要,否则您将无法在target
文件夹中找到它们。至少,不是默认的。你需要做的第一件事就是让Maven的存储build文件夹中所有的依赖(这POM摘录是从another SO post那儿剽窃):
<project>
...
<profiles>
<profile>
<id>qa</id>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
看上面显示的POM的变化,现在应该能够得到所有的JAR您的库所需的依赖关系,并将它们包括在您的类路径中(从target/lib
)。我建议将它们复制到工作站上的另一个文件夹中,因为每当您为Maven构建库执行clean
目标时,target
文件夹都会被烧毁。
现在已经说了所有这些,为什么不调整您的项目以使用Maven呢?那么你所需要做的就是将顶级JAR作为依赖包含在你的POM中,而Maven将处理它的所有子依赖?这毕竟是Maven的力量 - 这对您的优势起到杠杆作用。
无论如何,您选择的两种方法中的任何一种都会带来好运。
+1,对于maven新手来说非常重要的问题。 – 2014-04-09 14:55:47