spring cloud项目部署为jsw、tomcat的pom脚本

1、部署为jsw pom文件

<?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>com.macaitech</groupId>
    <artifactId>macaicloud</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  
  <artifactId>macaicloud-register</artifactId>
  <name>macaicloud-register</name>
  <description>注册中心</description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <main.class.name>com.macaitech.macaicloud.register.macaicloudRegisterApp</main.class.name>
    <deploy.path>macaicloud-register</deploy.path>
	<!-- 发布后,部署路径 -->
    <app.deploy.path>/data/app</app.deploy.path>
    <!-- 替换运行脚本中pid文件目录,确保是绝对路径 -->
    <app.pid.replaceString>PIDDIR=&quot;$BASEDIR/logs&quot;</app.pid.replaceString>
    <app.pid.path>PIDDIR=${app.deploy.path}/${project.name}/logs</app.pid.path>
  </properties>
  
  <!-- 环境 -->
  	<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<profileActive>dev</profileActive>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<profileActive>test</profileActive>
			</properties>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>local</id>
			<properties>
				<profileActive>local</profileActive>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<profileActive>prod</profileActive>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		</profile>
	</profiles>
  
  <dependencies>
        <!--注册中心-->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>
  </dependencies>
  
  <build>
   		<!-- 资源文件处理 -->
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<excludes>
					<exclude>logback-spring.xml</exclude>
					<exclude>mapper/**</exclude>
					<exclude>sql/**</exclude>
				</excludes>
			</resource>
			<resource>
				<filtering>true</filtering>
				<directory>src/main/resources</directory>
				<excludes>
					<exclude>application-dev.properties</exclude>
					<exclude>application-test.properties</exclude>
					<exclude>application-local.properties</exclude>
					<exclude>application-prod.properties</exclude>
					<exclude>application.properties</exclude>
				</excludes>
			</resource>
			<resource>
				<filtering>true</filtering>
				<directory>src/main/resources</directory>
				<includes>
					<include>application-${profileActive}.properties</include>
					<include>application.properties</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven.version}</version>
				<executions>
					<execution>
						<id>default-resources</id>
						<phase>validate</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>target/classes</outputDirectory>
							<useDefaultDelimiters>false</useDefaultDelimiters>
							<delimiters>
								<delimiter>@</delimiter>
							</delimiters>
							<resources>
								<resource>
									<directory>src/main/java</directory>
									<includes>
										<include>**/*.xml</include>
									</includes>
									<filtering>true</filtering>
								</resource>
								<resource>
									<directory>src/main/resources</directory>
									<includes>
										<include>**</include>
									</includes>
									<filtering>true</filtering>
								</resource>
								<resource>
									<directory>src/main/resources/</directory>
									<filtering>true</filtering>
									<includes>
										<include>**/*.xml</include>
										<include>**/*.yml</include>
										<include>**/*.properties</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
				
			<!-- clean插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<version>${maven.version}</version>
				<configuration>
					<filesets>
						<fileset>
							<directory>${basedir}/target</directory>
							<includes>
                    			<include>**/*</include>
                			</includes>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
			<!-- jar 插件 -->
			<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven.version}</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>${main.class.name}</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>./</classpathPrefix>
                            <useUniqueVersions>false</useUniqueVersions>
                        </manifest>
                    </archive>
					<includes>
						<include>com/**</include>
					</includes>
				    <executions>
				        <execution>
				            <phase>clean</phase>
				            <goals>
				                <goal>jar</goal>
				            </goals>
				        </execution>
				    </executions>
                </configuration>
            </plugin>
            <!--依赖jar拷贝-->
            <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>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>false</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            
            <!-- 生成jsw执行脚本 -->
			<plugin>
			    <groupId>org.codehaus.mojo</groupId>
			    <artifactId>appassembler-maven-plugin</artifactId>
			    <version>2.0.0</version>
			    
				<executions>
				  <execution>
				    <id>make-jsw</id>
				    <phase>package</phase>
				    <goals>
				      <goal>generate-daemons</goal>
				    </goals>
				  </execution>
				</executions>
				
			    <configuration>
			     <!--lib下直接存放jar,没有路径文件夹(如com/apache),如果没有这个选项则放在lib下的jar包会被com/apache类似的多层文件夹包裹起来-->
			     <repositoryLayout>flat</repositoryLayout>
			     <repositoryName>lib</repositoryName>
			     
			     <configurationDirectory>conf</configurationDirectory>
				 <configurationSourceDirectory>target/classes</configurationSourceDirectory>
			     <copyConfigurationDirectory>false</copyConfigurationDirectory>
			     <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
			     <useWildcardClassPath>true</useWildcardClassPath>
			     
			     <!--生成的项目的目录位置,这里的client是项目的名称,你可以根据你的需要自己随便命名-->			     
			     <target>${project.build.directory}</target>
			     
			     <binFileExtensions>
			      <unix>.sh</unix>
			     </binFileExtensions>
			     
			      <!-- 
			     <platforms>
			      <platform>windows</platform>
			      <platform>unix</platform>
			     </platforms>
			       -->
				 <daemons>
		            <daemon>
		              <id>${project.name}</id>
		              <platforms>
		                <platform>jsw</platform>
		              </platforms>
		              <mainClass>${main.class.name}</mainClass>
		              
		              <generatorConfigurations>
		                <generatorConfiguration>
		                  <generator>jsw</generator>
		                  <includes>
		                    <include>linux-x86-64</include>
		                    <!-- 
		                    <include>windows-x86-64</include>
		                    <include>macosx-universal-64</include>
		                     -->
		                  </includes>
		                  <configuration>
		                    <property>
		                      <name>configuration.directory.in.classpath.first</name>
		                      <value>conf</value>
		                    </property>
							<property> 
							  <name>wrapper.console.loglevel</name>  
							  <value>ERROR</value> 
							</property>
							<property> 
							  <name>wrapper.logfile.loglevel</name>  
							  <value>ERROR</value> 
							</property>
		                    <property>
		                      <name>wrapper.logfile</name>
		                      <value>logs/wrapper.log</value>
		                    </property>
		                    <property>
		                      <name>wrapper.logfile.format</name>
		                      <value>M</value>
		                    </property>
		                    <property>
		                      <name>wrapper.logfile.maxsize</name>
		                      <value>10m</value>
		                    </property>
		                    <property>
		                      <name>wrapper.logfile.maxfiles</name>
		                      <value>5</value>
		                    </property>
		                  </configuration>
		                </generatorConfiguration>
		              </generatorConfigurations>
						<jvmSettings> 
						  <extraArguments> 
						    <extraArgument>-Xrs</extraArgument> 
							<extraArgument>-server</extraArgument>
							<extraArgument>-Xmx2G</extraArgument>
							<extraArgument>-Xms512M</extraArgument>
						  </extraArguments>  
						</jvmSettings>
		            </daemon>
		          </daemons>
			    </configuration>
			</plugin>
			<!-- 拷贝配置文件 -->
			<plugin>   
             <artifactId>maven-antrun-plugin</artifactId>    
             <executions>       
                <execution>         
                   <phase>package</phase>
                   <goals>            
                         <goal>run</goal>
                   </goals>             
                   <configuration>       
                     <tasks>
                     	<!-- 
                         <mkdir dir="${project.build.directory}/jsw/${project.name}/conf"/> 
                          -->       
                        <mkdir dir="${project.build.directory}/jsw/${project.name}/logs"/> 
                        <copy todir="${project.build.directory}/jsw/${project.name}/conf" overwrite="true" > 
                            <fileset dir="${project.build.directory}/classes" erroronmissingdir="false">
				            	<!-- 
				            	<include name="*.yml"/>
				            	<include name="*.xml"/>
				            	<include name="*.properties"/>
				            	 -->
				            	<exclude name="com/**"/>
				            	<exclude name="sql/**"/>
				            	<exclude name="env/**"/>
                            </fileset>
                         </copy>  
                         <delete file="${project.build.directory}/${project.name}.tar"/>
                         <tar  destfile="${project.build.directory}/${project.name}.tar" basedir="${project.build.directory}/jsw"/>   
                         <replace file ="${project.build.directory}/jsw/${project.name}/bin/${project.name}" token="${app.pid.replaceString}"  value="${app.pid.path}" />
                         <!--
                         <gzip destfile="${project.build.directory}/${project.name}.tar.gz" src="${project.build.directory}/${project.name}.tar"/>
                         -->
                     </tasks>        
                   </configuration>        
                </execution>    
             </executions>  
            </plugin>
		</plugins>		
	</build>  
  
</project>

2、部署到tomcat下的pom文件

<?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>com.macaitech</groupId>
    <artifactId>macaitech-push</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  
  <artifactId>macaitech-push-server</artifactId>
  <name>macaitech-push-server</name>
  <description>推送服务端</description>
  <packaging>war</packaging>
	
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
	<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<profileActive>dev</profileActive>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<profileActive>test</profileActive>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>local</id>
			<properties>
				<profileActive>local</profileActive>
			</properties>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<profileActive>prod</profileActive>
			</properties>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
	</profiles>
  
  <dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		<exclusions>
			<exclusion>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-tomcat</artifactId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
	    <groupId>com.corundumstudio.socketio</groupId>
	    <artifactId>netty-socketio</artifactId>
	    <version>1.7.17</version>
	</dependency>
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-lang3</artifactId>
		<version>3.1</version>
	</dependency>
	<dependency>
	    <groupId>io.socket</groupId>
	    <artifactId>socket.io-client</artifactId>
	    <version>1.0.0</version>
	</dependency>
	<!-- for deploy to tomcat start  -->
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	    <version>3.1.0</version>
	    <scope>provided</scope>
	</dependency>
	<!-- for deploy to tomcat end  -->
  </dependencies>
  
	<build>
		<filters>
			<filter>src/main/resources/env/application-${profileActive}.properties</filter>
		</filters>
		<!-- 资源文件处理 -->
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<excludes>
					<exclude>logback-spring.xml</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>application.properties</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven.version}</version>
				<executions>
					<execution>
						<id>default-resources</id>
						<phase>validate</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>target/classes</outputDirectory>
							<useDefaultDelimiters>false</useDefaultDelimiters>
							<delimiters>
								<delimiter>@</delimiter>
							</delimiters>
							<resources>
								<resource>
									<directory>src/main/java</directory>
									<includes>
										<include>**/*.xml</include>
									</includes>
									<filtering>true</filtering>
								</resource>
								<resource>
									<directory>src/main/resources</directory>
									<includes>
										<include>**</include>
									</includes>
									<excludes>
										<exclude>env/**</exclude>
									</excludes>
									<filtering>true</filtering>
								</resource>
								<resource>
									<directory>src/main/resources/</directory>
									<filtering>true</filtering>
									<includes>
										<include name="*.xml"/>
										<include name="*.properties"/>
										<include name="*.json"/>
										<include name="*.txt"/>
										<include name="mapper/*.xml"/>
									</includes>
								</resource>
							 </resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- clean插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<version>${maven.version}</version>
				<configuration>
					<filesets>
						<fileset>
							<directory>${basedir}/target</directory>
							<includes>
								<include>**/*</include>
							</includes>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>${maven.version}</version>
            </plugin>
			
		</plugins>
	</build>
</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值