在pom中添加以下配置
<profiles>
<profile>
<id>pro</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<finalName>product-service</finalName>
<plugins>
<plugin><!-- 复制依赖的jar包 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin><!-- 复制依赖的resorces -->
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/resources</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>../lib/</classpathPrefix>
<mainClass>com.iphonele.product.server.ProductServerMain</mainClass>
</manifest>
<manifestEntries>
<Class-Path>../resources/</Class-Path>
</manifestEntries>
</archive>
<outputDirectory>${project.build.directory}/bin</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
打包完成在target下生成如下目录
这个目录中只有bin,lib,resources是有用的
执行命令:
在当前目录下
APP_NAME=product-service
BUILD_HOME=`dirname $0`
echo "java -jar $BUILD_HOME/bin/$APP_NAME.jar"
nohup java -jar $BUILD_HOME/bin/$APP_NAME.jar > $BUILD_HOME/logs/$APP_NAME.log &