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

如何在不解压所有依赖项的情况下使用Maven组装控制台应用程序?

如何解决《如何在不解压所有依赖项的情况下使用Maven组装控制台应用程序?》经验,为你挑选了2个好方法。

假设我在Maven项目中有以下目录布局:

src/
|-- main
|   |-- bin
|   |   |-- run.cmd
|   |   `-- run.sh
|   |-- etc
|   |   |-- common-spring.xml
|   |   |-- log4j.xml
|   |   `-- xml-spring.xml
|   `-- java
|       `-- com
...

我想构建一个zip文件,当解压缩时,生成如下内容:

assembly
|-- bin
|   |-- run.cmd
|   `-- run.sh
|-- etc
|   |-- common-spring.xml
|   |-- log4j.xml
|   `-- xml-spring.xml
`-- lib
    |-- dependency1.jar
    |-- dependency2.jar
...

其中`run.xx'是可执行的shell脚本,它将调用我的主应用程序并将所有依赖项放在类路径上.

这是否可能与一些"官方"Maven插件,例如maven-assembly-plugin?



1> jassuncao..:

我使用AppAssembler插件来获得类似的东西.例:

...


  
    org.codehaus.mojo
    appassembler-maven-plugin
    
      
        
          com.acme.MainClass
          app
        
      
    
  



2> 小智..:

我已经使用maven-assembly-plugin来实现项目中类似的东西.我想在打包阶段构建一个zip文件,而不是手动调用assembly:assembly.这是我想出的:

/src/assemble/distribution.xml:


  distribution

  
  
    zip
  

  
  
    
      /lib
      runtime
    
  

  
    
    
      target
      
      
        *.jar
      
    

    
    
       
       
        conf/**
       
    
  


/pom.xml

...

        
            maven-assembly-plugin

            
                
                    src/assemble/distribution.xml
                    
                
            

            
            
                
                    package
                    
                        assembly
                    
                
            

        

...

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