1.idea的默认打包方式是, 讲醒目打包成jar包,
2,对于想打包成其他类型的包那么可以选择以下方式配置,然后在打包。
pom.xml配置
>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>env/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/env/${env}</directory>
<targetPath>${project.build.outputDirectory}</targetPath>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.10</version>
<configuration>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
<configurationDirectory>conf</configurationDirectory>
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<configurationSourceDirectory>src/main/resources/env/${env}</configurationSourceDirectory>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<target>${project.build.directory}</target>
<daemons>
<daemon>
<id>${project.artifactId}</id>
<!-- 修改包名 -->
<mainClass>com.chinaredstar.fmall.hub.core.HubCoreApplication</mainClass>
<platforms>
<platform>jsw</platform>
</platforms>
<wrapperLogFile>logs/${project.artifactId}.log</wrapperLogFile>
<generatorConfigurations>
<generatorConfiguration>
<generator>jsw</generator>
<includes>
<include>macosx-universal-64</include>
<include>linux-x86-32</include>
<include>linux-x86-64</include>
<include>windows-x86-32</include>
<include>windows-x86-64</include>
</includes>
<configuration>
<property>
<name>configuration.directory.in.classpath.first</name>
<value>conf</value>
</property>
<property>
<name>set.default.REPO_DIR</name>
<value>lib</value>
</property>
<property>
<name>wrapper.ping.timeout</name>
<value>300</value>
</property>
<property>
<name>wrapper.startup.timeout</name>
<value>300</value>
</property>
</configuration>
</generatorConfiguration>
</generatorConfigurations>
<jvmSettings>
<initialMemorySize>${jvmSettings.initialMemorySize}</initialMemorySize>
<maxMemorySize>${jvmSettings.maxMemorySize}</maxMemorySize>
<maxStackSize>128</maxStackSize>
<extraArguments>
<extraArgument>-server</extraArgument>
<extraArgument>${jvmSettings.javaagent}</extraArgument>
<!-- 注意注意!!! jvmSettings.agentId长度不能超过13个长度 , 并且中间加符号"-" 占一位 预留10个长度给到脚本自动追加hostname
做全局唯一标识 -->
<extraArgument>-Dpinpoint.agentId=${jvmSettings.agentId}-</extraArgument>
<!-- 注意注意!!! jvmSettings.agentApplicationName 只能包含 [a-zA-Z0-9],
'.', '-', '_'. 最大长度:24 -->
<extraArgument>-Dpinpoint.applicationName=${jvmSettings.agentApplicationName}
</extraArgument>
<extraArgument>-XX:MetaspaceSize=128M</extraArgument>
<extraArgument>-XX:MaxMetaspaceSize=512M</extraArgument>
<extraArgument>-XX:+HeapDumpOnOutOfMemoryError</extraArgument>
<extraArgument>-XX:HeapDumpPath=/logs/${project.artifactId}/dump.hprof
</extraArgument>
<extraArgument>-Djava.net.preferIPv4Stack=true</extraArgument>
</extraArguments>
</jvmSettings>
</daemon>
</daemons>
</configuration>
<executions>
<execution>
<id>generate-jsw-scripts</id>
<phase>package</phase>
<goals>
<goal>generate-daemons</goal>
<goal>create-repository</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>${project.artifactId}</finalName>
<descriptors>
<descriptor>src/main/assembly/bin.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!-- dev -->
<profile>
<id>dev</id>
<properties>
<env>dev</env>
<jvmSettings.initialMemorySize>512</jvmSettings.initialMemorySize>
<jvmSettings.maxMemorySize>512</jvmSettings.maxMemorySize>
<jvmSettings.javaagent>-server</jvmSettings.javaagent>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>uat1</id>
<properties>
<env>uat1</env>
<jvmSettings.initialMemorySize>768</jvmSettings.initialMemorySize>
<jvmSettings.maxMemorySize>768</jvmSettings.maxMemorySize>
<jvmSettings.javaagent>
-javaagent:/data/app/pinpoint-agent-1.8.3/pinpoint-bootstrap-1.8.3.jar
</jvmSettings.javaagent>
</properties></profile>
<!-- stg -->
<profile>
<id>stg</id>
<properties>
<env>stg</env>
<jvmSettings.initialMemorySize>2560</jvmSettings.initialMemorySize>
<jvmSettings.maxMemorySize>2560</jvmSettings.maxMemorySize>
<jvmSettings.javaagent>
-javaagent:/data/app/pinpoint-agent-1.8.3/pinpoint-bootstrap-1.8.3.jar
</jvmSettings.javaagent>
</properties>
</profile>
<!-- prd -->
<profile>
<id>prd</id>
<properties>
<env>prd</env>
<jvmSettings.initialMemorySize>4096</jvmSettings.initialMemorySize>
<jvmSettings.maxMemorySize>4096</jvmSettings.maxMemorySize>
<jvmSettings.javaagent>
-javaagent:/data/app/pinpoint-agent-1.8.3/pinpoint-bootstrap-1.8.3.jar
</jvmSettings.javaagent>
</properties>
</profile>
</profiles>
打包后的目录结构:
bin: 启动脚本
conf: 配置信息
lib:用的jar包
logs:所有日志信息
3.在bin文件夹中存在启动脚本, 具体如何操作需要有bat操作命令基础。
-----------------
后续内容下一节;
坚持!