当前位置:  开发笔记 > 编程语言 > 正文

Maven可以收集项目的所有依赖JAR以帮助进行应用程序部署吗?

如何解决《Maven可以收集项目的所有依赖JAR以帮助进行应用程序部署吗?》经验,为你挑选了4个好方法。

我刚开始使用Maven,(真的评估它)我需要能够为我的应用程序快速生成一个JAR文件和一个包含所有依赖项的目录(例如,lib),以便我可以部署这两个以独立的方式运行.使用正确的清单生成JAR文件很简单,但我不知道如何让Maven将当前项目的依赖项复制到lib我可以部署的目录中.

由于这是针对独立的Java应用程序,我对部署到Maven存储库感兴趣,这也是相当简单的,或者至少很容易googleable.

我已经找到了除了将依赖的JAR文件复制到某个指定目录之外的所有操作.这是我正在寻找的工作流程:

$ mvn clean
$ mvn package
$ cp -r target/{lib,myApp.jar} installLocation

然后,运行myApp.jarinstallLocation一个JAR文件应该"只是工作"无论我的$CLASSPATH.

尝试抢先一些答案:

我有一个Main-class:set,它工作正常.

我还在MANIFEST.MF中设置了类路径,这也很好用.

我已经找到了如何使用完成这项工作 - 但仅限于我的机器.(通过:${settings.localRepository})

laz.. 80

你要调查的是Maven的依赖插件.在pom.xml中添加类似以下的内容:


    org.apache.maven.plugins
    maven-dependency-plugin
    
        
            ${project.build.directory}
        
    

然后运行mvn clean dependency:copy-dependencies以复制执行副本.将它与程序集插件结合使用,您可以将所有内容打包到一个自包含的存档中进行分发.



1> laz..:

你要调查的是Maven的依赖插件.在pom.xml中添加类似以下的内容:


    org.apache.maven.plugins
    maven-dependency-plugin
    
        
            ${project.build.directory}
        
    

然后运行mvn clean dependency:copy-dependencies以复制执行副本.将它与程序集插件结合使用,您可以将所有内容打包到一个自包含的存档中进行分发.


也许这是自原始回复以来的9年,但对我来说(Windows,Maven 3.5)运行'mvn依赖:copy-dependencies'是没有pom.xml上的新元素的工作事件

2> 小智..:

我不关心Shade插件,因为它将所有包装中的所有包装卷起来.

要包含所有外部库,您可以使用上面提到的Dependency Plugin.

此示例将在"package"阶段之前的"target/classes"下创建"lib"目录.


  org.apache.maven.plugins
  maven-dependency-plugin
  2.6
  
    
      copy-dependencies
      prepare-package
      
        copy-dependencies
      
      
        target/classes/lib
        true
        
          junit,org.hamcrest,org.mockito,org.powermock,${project.groupId}
        
      
    
    
      generate-sources
      
        sources
      
    
  
  
    true
    true
    ${project.build.directory}
  



3> Sergey Aldou..:

另一个是appassembler插件
我喜欢它的是它将应用程序打包成一个可以使用的形式(带有.bat文件等)



4> Rama..:

看一下maven的依赖插件,特别是复制依赖目标。用法部分描述了如何准确地执行您想要的操作。

要从命令行执行此操作,只需执行以下操作:

$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有