maven打包


1.利用maven-jar-plugin

<build>  
    <plugins>  
          
        <plugin>  
            <groupId>org.apache.maven.pluginsgroupId>  
            <artifactId>maven-jar-pluginartifactId>  
            <version>2.4version>  
              
            <configuration>  
                  
                <archive>  
  
                      
                    <addMavenDescriptor>falseaddMavenDescriptor>  
  
                      
                    <manifest>  
                          
                        <addClasspath>trueaddClasspath>  
                          
                        <classpathPrefix>lib/classpathPrefix>  
                          
                        <mainClass>dbRobot.BeanRobotmainClass>  
                    manifest>  
                archive>  
                  
                <excludes>  
                    <exclude>${project.basedir}/xml/*exclude>  
                excludes>  
            configuration>  
        plugin>  
  
          
        <plugin>  
            <groupId>org.apache.maven.pluginsgroupId>  
            <artifactId>maven-assembly-pluginartifactId>  
            <version>2.4version>  
              
            <configuration>  
                  
                <descriptors>  
                    <descriptor>src/main/assembly/package.xmldescriptor>  
                descriptors>  
            configuration>  
            <executions>  
                <execution>  
                    <id>make-assemblyid>  
                    <phase>packagephase>  
                    <goals>  
                        <goal>singlegoal>  
                    goals>  
                execution>  
            executions>  
        plugin>  
    plugins>  
build>  

再来看package.xml的配置

<assembly>  
    <id>binid>  
      
    <formats>  
        <format>zipformat>  
    formats>  
  
      
    <dependencySets>  
        <dependencySet>  
              
            <useProjectArtifact>falseuseProjectArtifact>  
            <outputDirectory>liboutputDirectory>  
            <unpack>falseunpack>  
        dependencySet>  
    dependencySets>  
  
    <fileSets>  
          
        <fileSet>  
            <directory>${project.basedir}directory>  
            <outputDirectory>/outputDirectory>  
            <includes>  
                <include>README*include>  
                <include>LICENSE*include>  
                <include>NOTICE*include>  
            includes>  
        fileSet>  
          
          
        <fileSet>  
            <directory>${project.basedir}\src\main\configdirectory>  
            <outputDirectory>configoutputDirectory>  
            <includes>  
                <include>*.xmlinclude>  
                <include>*.propertiesinclude>  
            includes>  
        fileSet>  
          
          
        <fileSet>  
            <directory>${project.build.scriptSourceDirectory}directory>  
            <outputDirectory>outputDirectory>  
            <includes>  
                <include>startup.*include>  
            includes>  
        fileSet>  
  
          
        <fileSet>  
            <directory>${project.build.scriptSourceDirectory}directory>  
            <outputDirectory>outputDirectory>  
            <includes>  
                <exclude>startup.*exclude>  
            includes>  
        fileSet>  
          
          
        <fileSet>  
            <directory>${project.build.directory}directory>  
            <outputDirectory>outputDirectory>  
            <includes>  
                <include>*.jarinclude>  
            includes>  
        fileSet>  
    fileSets>  
assembly>  

2.利用maven-shade-plugin

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-shade-pluginartifactId>
                <version>1.4version>
                <executions>
                    <execution>
                        <phase>packagephase>
                        <goals>
                            <goal>shadegoal>
                        goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>*:*artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SFexclude>
                                        <exclude>META-INF/*.DSAexclude>
                                        <exclude>META-INF/*.RSAexclude>
                                        
                                        <exclude>jdbc.propertiesexclude>
                                        <exclude>module.config.propertiesexclude>
                                    excludes>
                                filter>
                            filters>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.xxx.ServermainClass>
                                transformer>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.handlersresource>
                                transformer>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.schemasresource>
                                transformer>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/cxf/bus-extensions.txtresource>
                                transformer>
                            transformers>
                        configuration>
                    execution>
                executions>
            plugin>
        plugins>
    build>