Spring-boot web 工程构建,并把maven子项目模块依赖jar打包,笔记

来源:互联网 发布:网页游戏源码架设教程 编辑:程序博客网 时间:2024/04/30 01:00

1.对于maven构建spring-boot web工程。pom.xml

<?xml version="1.0"?><project    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>cn.gitv.bi</groupId>        <artifactId>hadoop</artifactId>        <version>1.0-SNAPSHOT</version>    </parent>    <artifactId>hadoop-internal-api</artifactId>    <name>hadoop-internal-api</name>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <maven.compiler.target>1.7</maven.compiler.target>        <maven.compiler.source>1.7</maven.compiler.source>    </properties>    <build>        <finalName>hadoop-internal-api-${project.version}</finalName>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-assembly-plugin</artifactId>                <version>2.3</version>                <configuration>                    <appendAssemblyId>true</appendAssemblyId>                    <descriptors>                        <descriptor>assembly.xml</descriptor>                    </descriptors>                    <!-- get all project dependencies -->                    <!-- <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef>                         </descriptorRefs> -->                    <!-- MainClass in mainfest make a executable jar -->                    <!-- <archive> <manifest> <mainClass>cn.gitv.bi.internal.api.Application</mainClass>                         </manifest> </archive> -->                </configuration>                <executions>                    <execution>                        <id>make-assembly</id>                        <phase>package</phase>                        <goals>                            <goal>single</goal>                        </goals>                    </execution>                </executions>            </plugin>            <!-- <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.3</version>                 <configuration> <skip>true</skip> </configuration> </plugin> -->        </plugins>        <!-- <resources> <resource> <directory>src/main/resources</directory> <includes>             <include>spring/</include> <include>properties/*</include> <include>spring/*</include>             <include>log4j.properties</include> <include>*.xml</include> </includes>             <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory>             <includes> <include>properties/</include> </includes> <filtering>true</filtering>             </resource> </resources> -->    </build>    <dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <scope>test</scope>        </dependency>        <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId>             <version>3.1.1.RELEASE</version> <type>jar</type> <scope>compile</scope>             <exclusions> <exclusion> <artifactId>spring-core</artifactId> <groupId>org.springframework</groupId>             </exclusion> </exclusions> </dependency> <dependency> <groupId>cn.gitv.ibci.swift</groupId>             <artifactId>swift-clone</artifactId> <version>1.0-SNAPSHOT</version> </dependency> -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <dependency>            <groupId>cn.gitv.bi</groupId>            <artifactId>hadoop-hbase-dao</artifactId>            <version>1.0-SNAPSHOT</version>        </dependency>        <dependency>            <groupId>cn.gitv.bi</groupId>            <artifactId>hadoop-common</artifactId>            <version>1.0-SNAPSHOT</version>        </dependency>    </dependencies>    <!-- <profiles> <profile> <id>bi-v3.0-statistic</id> <activation> <activeByDefault>true</activeByDefault>         </activation> <properties> </properties> </profile> </profiles> --></project>
  1. assembly.xml
<assembly        xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"><!--  <id>jar-with-dependencies</id>  <formats>    <format>jar</format>  </formats>  <includeBaseDirectory>false</includeBaseDirectory>   <fileSets>    <fileSet>      <directory>/lib</directory>    </fileSet>  </fileSets>  <dependencySets>    <dependencySet>      <outputDirectory>/</outputDirectory>      <useProjectArtifact>true</useProjectArtifact>      <unpack>false</unpack>      <scope>runtime</scope>    </dependencySet>  </dependencySets> -->   <id>bin</id>    <formats>        <format>tar.gz</format>    </formats>    <fileSets>        <fileSet>            <directory>${project.basedir}</directory>            <outputDirectory>/</outputDirectory>            <includes>                <include>README*</include>                <include>LICENSE*</include>                <include>NOTICE*</include>            </includes>        </fileSet>      <!--   <fileSet>            <directory>${project.build.directory}/classes</directory>            <outputDirectory>conf</outputDirectory>        </fileSet> -->         <fileSet>            <directory>src/main/resources/scripts</directory>            <outputDirectory>bin</outputDirectory>        </fileSet>     </fileSets>    <dependencySets>        <dependencySet>            <outputDirectory>/</outputDirectory>            <useProjectArtifact>true</useProjectArtifact>        </dependencySet>    </dependencySets></assembly>
  1. 运行脚本 run.sh
#!/bin/bashSCRIPT_HOME=$(dirname $(readlink -f $0))bash -ex $SCRIPT_HOME/startup.sh 9000

4.startup.sh

#!/bin/bashJAVA_OPTS="-server -Xms1024m -Xmx1024m -Xmn384m -XX:MaxPermSize=64m \-Xss256k -XX:+UseConcMarkSweepGC \-XX:+UseParNewGC -XX:CMSFullGCsBeforeCompaction=5 \-XX:+UseCMSCompactAtFullCollection \-XX:+PrintGC -Xloggc:/data/bi/hadoop-internal-api/logs/gc.log"PHOME=$(dirname `readlink -f "$0"`)PHOME=$(dirname $PHOME)pid=`ps -eo pid,args | grep hadoop-internal-api | grep 9000 | grep java | grep -v grep | awk '{print $1}'`if [ -n "$pid" ]then    kill -3 ${pid}    kill ${pid} && sleep 3    if [  -n "`ps -eo pid | grep $pid`" ]    then        kill -9 ${pid}    fi    echo "kill pid: ${pid}"fijava $JAVA_OPTS -cp $PHOME/conf:$PHOME/lib/* cn.gitv.bi.internal.api.Application $1 > /dev/null 2>&1 &

注意:如果是从windows写的脚本放到linux上

由于windows下对文本文件的保存格式与unix下不同造成的,windows下回车的字符是’\r\n’,而linux下是’\n’。head -1 run.sh |od -c可以看到

需要运行命令转换格式

dos2unix run.shdos2unix startup.sh
0 0
原创粉丝点击