我刚刚开始使用Maven(真的进行评估),我需要能够快速为我的应用程序生成一个JAR文件,并生成一个包含所有依赖项的目录(例如lib),以便可以部署这两个以独立方式运行。使用正确的清单生成JAR文件很容易,但是我不知道如何使Maven将当前项目的依赖项复制到lib
我可以部署的目录中。
由于这是针对独立Java应用程序的,因此我对部署到Maven存储库并不感兴趣,因为Maven存储库也相当琐碎,或者至少很容易通过Google进行搜索。
除了将相关的JAR文件复制到某个指定目录外,我已经找到了所有方法。这是我正在寻找的工作流程:
$ mvn clean
$ mvn package
$ cp -r target/{lib,myApp.jar} installLocation
然后,无论我是myApp.jar
从installLocation
JAR文件运行,都应该“正常工作” $CLASSPATH
。
尝试抢先一些答案:
<classpathPrefix>
和<classpathMavenRepositoryLayout>
使它工作的方法-但仅限于我的机器上。(通过:<classpathPrefix>${settings.localRepository}</classpathPrefix>
)您要研究的是Maven的依赖插件。向pom.xml添加类似于以下内容的内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</plugin>
然后运行mvn clean dependency:copy-dependencies
复制执行复制。将其与Assembly插件结合使用,您可以将所有内容打包到一个自包含的存档中以进行分发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句