篇五:项目打包

  导语:1、web项目"war"打包;2、dubbo+maven打包

一、web项目打包

  web项目使用"war"打包,会自动打包依赖的jar包;

  

然后对应到处路径就OK了!

 

二、dubbo+maven 打jar包

  1、父工程pom.xml添加

<build>
        <plugins>
            <!-- 发布插件,自动发布到远程本地库或远程私有库 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <uniqueVersion>false</uniqueVersion>
                </configuration>
            </plugin>
        <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.8</version>
             </plugin>
            <!-- 编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <failOnError>true</failOnError>
                    <verbose>true</verbose>
                    <fork>true</fork>
                    <compilerArgument>-nowarn</compilerArgument>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- 源码插件,生成源码jar包 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

        <!-- 插件声明 -->
        <pluginManagement>
         <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-jar-plugin</artifactId>
                  <configuration>
                      <classesDirectory>target/classes/</classesDirectory>
                      <archive>
                          <manifest>
                              <mainClass>com.alibaba.dubbo.container.Main</mainClass>
                              <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -->
                              <useUniqueVersions>false</useUniqueVersions>
                              <addClasspath>true</addClasspath>
                              <classpathPrefix>lib/</classpathPrefix>
                          </manifest>
                          <manifestEntries>
                              <Class-Path>.</Class-Path>
                          </manifestEntries>
                      </archive>
                  </configuration>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-dependency-plugin</artifactId>
                  <executions>
                      <execution>
                          <id>copy</id>
                          <phase>package</phase>
                          <goals>
                              <goal>copy-dependencies</goal>
                          </goals>
                          <configuration>
                              <type>jar</type>
                              <includeTypes>jar</includeTypes>
                              <useUniqueVersions>false</useUniqueVersions>
                              <outputDirectory>
                                  ${project.build.directory}/lib
                              </outputDirectory>
                          </configuration>
                      </execution>
                  </executions>
              </plugin>
          </plugins>  
        </pluginManagement>
    </build>

  2、子过程(需打包的工程)pom.xml添加

<!-- 打包发布 -->
  <build>      <finalName>guduo-service-user</finalName> <resources> <resource> <targetPath>${project.build.directory}/classes</targetPath> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <!-- 结合com.alibaba.dubbo.container.Main --> <resource> <targetPath>${project.build.directory}/classes/META-INF/spring</targetPath> <directory>src/main/resources/spring</directory> <filtering>true</filtering> <includes> <include>spring-context.xml</include> </includes> </resource> </resources>      <pluginManagement> <plugins> <!-- 解决Maven插件在Eclipse内执行了一系列的生命周期引起冲突 --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>copy-dependencies</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <!-- 打包可执行jar --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> <!-- 第三方依赖jar --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> </plugin> </plugins>  </build>

  参考文件:文件管理(pom-parent.xml、pom-child.xml)

三、执行打包

  1、弄清楚各工程之间的依赖关系,由底层到外层;

  2、依次 maven-update、RunAs-maven clean、RunAs-maven install.

四、在Linux运行

  1、jar包的运行

     java -jar xxx.jar  需要开一个独立的界面运行,执行"ctrl+c",结束jar的运行,护着关闭该界面,也会结束运行

       java -jar xxx.jar & 后台运行,需要通过 关闭进程 来关闭服务,不受界面和"ctrl+c"的影响

  2、war包的运行

       上传至 tomcat的 webapps下面,执行 "./bin/startup.sh"

参考文档:

  1、pom.xml属性值:http://zyl.iteye.com/blog/41754

 

  

 
posted @ 2016-10-09 21:28  刘广平  阅读(228)  评论(0)    收藏  举报