graylogserver打包tgz

来源:互联网 发布:剑网3更新网络中断 编辑:程序博客网 时间:2024/05/16 07:28

Maven可以通过将工程打包成为tar.gz等格式文件。

其方式为使用maven-assembly-plugin

Maven Assemly Plugin 是基于提供的生成的描述符来命令其运行,现在已有很多可用的描述符,但是他们只能满足一些生成package基本的操作。

在使用Maven assembly Plugin之前,你必须知道如何使用assembly Descriptor

其标签与结构在:http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html有详细的介绍

http://maven.apache.org/components/plugins/maven-assembly-plugin/

翻译:

1、简介

Assembly Plugin 主要是为了使用户可以将其依赖、模板、站点文件或者其他的文件归档起来。你的工程可以轻松利用该分布式的程序集,预先定义的装配描述符。这些描述符可以处理很多普通的操作,如将一个工程与其生成的文档一起打包在一个zip文件中。或者,你的工程可以提供自己的描述符和假设一个更高级的控制其依赖、模板、文件设置和单个文件的打包过程。

现在它可以创建打包的格式有:

Zip

Tar

Tar.gz(or tgz)

Tar.bz2(or tbz2)

Jar

Dir

War

和其他ArchiveManager可以配置的格式。

如果你的项目想打包成uber-jar,assembly plugin提供了只提供基本的支持。

想要在Maven项目中利用Assembly Plugin,你只需要:

l  选择或者写一个assemblydescriptor 来使用

l  在你项目中的pom.xml中

l  运行“mvnassembly:single”

如果想写自己的assembly,你将需要查看AssemblyDescriptor Format。

 

2、例子

引用Apache Maven Project中的例子

想要输出的格式如下:

 

1、  在pom.xml中添加maven-assembly-plugin

 

<plugins>

     <!-- START SNIPPET: assembly -->

      <plugin>

       <groupId>org.apache.maven.plugins</groupId>

       <artifactId>maven-assembly-plugin</artifactId>

       <configuration>

         <descriptor>src/assembly/bin.xml</descriptor> (设置描述文件的位置)

         <finalName>apache-maven-cookbook-${pom.version}</finalName> (生成后文件的名称)

       </configuration>

       <executions>(将其与package命令绑定,并且设置为只运行一次)

         <execution>

           <phase>package</phase>

           <goals>

              <goal>single</goal>

           </goals>

         </execution>

       </executions>

     </plugin>

     <!-- END SNIPPET: assembly -->

   </plugins>

 </build>

 

2、  新建并配置bin.xml文件

在\src\assembly目录下创建bin.xml文件

其内容如下:

<assembly>

 <id>bin</id>

 <!-- START SNIPPET: formats -->

 <formats>(设置导出格式)

   <format>tar.gz</format>

   <format>tar.bz2</format>

   <format>zip</format>

 </formats>

 <!-- END SNIPPET: formats -->

 <!-- START SNIPPET: fileSets -->

 <fileSets>(设置其中的文件集合)

   <fileSet>

     <includes>

       <include>README*</include>

     </includes>

   </fileSet>

   <fileSet>

     <directory>src/bin</directory>

     <outputDirectory>bin</outputDirectory>

     <includes>

       <include>*.bat</include>

     </includes>

     <lineEnding>dos</lineEnding>

   </fileSet>

   <fileSet>

     <directory>src/bin</directory>

     <outputDirectory>bin</outputDirectory>

     <includes>

       <include>hello</include>

     </includes>

     <lineEnding>unix</lineEnding>

     <fileMode>0755</fileMode>

   </fileSet>

   <fileSet>

     <directory>target</directory>

     <outputDirectory>lib</outputDirectory>

     <includes>

       <include>generate-assembly-*.jar</include>

     </includes>

   </fileSet>

 </fileSets>

 <!-- END SNIPPET: fileSets -->

</assembly>

 

 

打包的文件格式

可以有:tar.zip war zip

<formats>

 <format>zip</format>

</formats>

 

需要打包的路径

<directory>${project.basedir}</directory>

 

打包后输出的路径

<outputDirectory>/</outputDirectory>

 

打包需要包含的文件

<includes>

       <include>generate-assembly-*.jar</include>

     </includes>

打包不需要的文件

 <excludes>

       <exclude>junit:junit</exclude>

       <exclude>commons-lang:commons-lang</exclude>

       <exclude>commons-logging:commons-logging</exclude>

</excludes>

 

当前项目构件是否包含在这个依赖集合里。

<useProjectArtifact>true</useProjectArtifact>

 

依赖包打包到目录下

<dependencySets>

 <dependencySet>

  <outputDirectory>lib</outputDirectory><!-- 将scope为runtime的依赖包打包到lib目录下。 -->

  <useProjectArtifact>true</useProjectArtifact>

  <scope>runtime</scope>

 </dependencySet>

</dependencySets>

 

3、  运行mvn

 

mvn package

 

Graylog-Server端的修改

Graylog-server原先存在descriptor的配置文件。


1、  更改graylog2-bootstrap文件下的pom.xml

在<artifactId>maven-assembly-plugin</artifactId>下增加如下配置

 

 

 

 

 

 

 

 

 

其更改如下:

2、  运行mvn package

 

3、  查看结果

 

其打包后的tgz文件与官方网站中下载下来的server端一直,解压运行bin中相应的命令即可完成对server端的操作。

 

 

参考文献地址:http://maven.apache.org/components/plugins/maven-assembly-plugin/

maven-assembly-plugin 介绍:http://blueram.iteye.com/blog/1684070

 

0 0
原创粉丝点击