一个maven项目中的多个程序集

12 浏览
0 Comments

一个maven项目中的多个程序集

我们有不同的Java源代码“项目”。其中3个项目完全相同(fatclient,相同的依赖等),只有另一个需要调用的主类不同。

今天我们有一个带有主类的基础项目:


    net.company.BaseTool
    BaseTool
    1.1.0-SNAPSHOT
    jar
    BaseTool
    
        
            
                maven-assembly-plugin
                
                    
                        
                            net.company.BaseTool
                        
                    
                
            
        
    

和其他依赖于基础项目的项目


    net.company.AnotherTool
    AnotherTool
    1.1.0-SNAPSHOT
    jar
    AnotherTool
    
        
            
                maven-assembly-plugin
                
                    
                        
                            net.company.AnotherTool
                        
                    
                
            
        
    
    
        
            net.company.BaseTool
            BaseTool
            1.1.0-SNAPSHOT
        
    

我们这样做是因为我们需要能够通过双击启动的应用程序。

但我不想为每个应用程序创建一个额外的Java项目。

我的问题是:是否可以从一个项目创建多个程序集?如果可以,应该如何操作。

这里是解决方案


    4.0.0
    my.company.toolbox
    toolbox
    1.1.0-SNAPSHOT
    jar
    toolbox
    http://wiki.company.my/toolbox
    
        
            
                org.apache.maven.plugins
                maven-assembly-plugin
                2.6
                
                    toolbox
                    false
                    
                        jar-with-dependencies
                    
                
                
                    
                        ToolOne
                        package
                        
                            single
                        
                        
                            ToolOne
                            
                                
                                    my.company.ToolOne
                                
                            
                        
                    
                    
                        ToolTwo
                        package
                        
                            single
                        
                        
                            ToolTwo
                            
                                
                                    my.company.ToolTwo
                                
                            
                        
                    
                    
                        ToolThree
                        package
                        
                            single
                        
                        
                            ToolThree
                            
                                
                                    my.company.ToolThree
                                
                            
                        
                    
                    
                        ToolFour
                        package
                        
                            single
                        
                        
                            ToolFour
                            
                                
                                    my.company.ToolFour
                                
                            
                        
                    
                
            

0