IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

使用appassembler插件生成启动脚本

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

appassemblermaven插件可以自动生成跨平台的启动脚本,省去了手工写脚本的麻烦,而且还可以生成jsw的后台运行程序。插件官网:http://www.mojohaus.org/appassembler/appassembler-maven-plugin/,官网介绍了该插件的详细用法。

appassembler的使用很简单,直接在pom文件中加入插件配置。

生成启动脚本之前,需要有一个启动的类:

 package org.cellphone;

 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.context.annotation.ComponentScan;

 @EnableAutoConfiguration
 @ComponentScan("org.cellphone")
 public class WarehouseWeb {

     public static void main(String[] args) {
         SpringApplication.run(WarehouseWeb.class, args);
     }
 }

1、 生成可执行的启动脚本

         <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>appassembler-maven-plugin</artifactId>
                 <version>2.0.0</version>
                 <executions>
                     <execution>
                         <id>Make Assembly</id>
                         <phase>package</phase>
                         <goals>
                             <goal>assemble</goal>
                         </goals>
                     </execution>
                 </executions>

                 <configuration>
                     <!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
                     <repositoryName>lib</repositoryName>
                     <!-- 可执行脚本的目录 -->
                     <binFolder>bin</binFolder>
                     <!-- 配置文件的目标目录 -->
                     <configurationDirectory>conf</configurationDirectory>
                     <!-- 拷贝配置文件到上面的目录中 -->
                     <copyConfigurationDirectory>true</copyConfigurationDirectory>
                     <!-- 从哪里拷贝配置文件 (默认src/main/config) -->
                     <configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
                     <!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 -->
                     <repositoryLayout>flat</repositoryLayout>
                     <encoding>UTF-8</encoding>
                     <logsDirectory>logs</logsDirectory>
                     <!-- 生成脚本的后缀 -->
                     <binFileExtensions>
                         <unix>.sh</unix>
                     </binFileExtensions>
                     <!-- 生成linux, windows两种平台的执行脚本 -->
                     <platforms>
                         <platform>windows</platform>
                         <platform>unix</platform>
                     </platforms>

                     <programs>
                         <program>
                             <!--指定主类,脚本名。会生成shell/bat两种类型,也可用platforms指定运行平台-->
                             <mainClass>org.cellphone.WarehouseWeb</mainClass>
                             <!-- 生成的脚本文件的名称,比如start.sh,你也可以根据你的需要命名成其他名字 -->
                             <name>WAREHOUSE-WEB</name>
                         </program>
                     </programs>
                 </configuration>
             </plugin>

执行 mvn package appassembler:assemble,执行完成之后,在target/appassembler目录就有可执行脚本。

2、 生成后台服务程序

         <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>appassembler-maven-plugin</artifactId>
                 <version>2.0.0</version>
                 <executions>
                     <execution>
                         <id>generate-jsw-scripts</id>
                         <phase>package</phase>
                         <goals>
                             <goal>generate-daemons</goal>
                         </goals>
                     </execution>
                 </executions>

                 <configuration>
                     <!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
                     <repositoryName>lib</repositoryName>
                     <!-- 可执行脚本的目录 -->
                     <binFolder>bin</binFolder>
                     <!-- 配置文件的目标目录 -->
                     <configurationDirectory>conf</configurationDirectory>
                     <!-- 拷贝配置文件到上面的目录中 -->
                     <copyConfigurationDirectory>true</copyConfigurationDirectory>
                     <!-- 从哪里拷贝配置文件 (默认src/main/config) -->
                     <configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
                     <!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 -->
                     <repositoryLayout>flat</repositoryLayout>
                     <encoding>UTF-8</encoding>
                     <logsDirectory>logs</logsDirectory>
                     <daemons>
                         <daemon>
                             <id>WAREHOUSE-WEB</id>
                             <mainClass>org.cellphone.WarehouseWeb</mainClass>
                             <platforms>
                                 <platform>jsw</platform>
                             </platforms>
                             <generatorConfigurations>
                                 <generatorConfiguration>
                                     <generator>jsw</generator>
                                     <includes>
                                         <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>wrapper.ping.timeout</name>
                                             <value>120</value>
                                         </property>
                                         <property>
                                             <name>set.default.REPO_DIR</name>
                                             <value>lib</value>
                                         </property>
                                         <property>
                                             <name>wrapper.logfile</name>
                                             <value>logs/wrapper.log</value>
                                         </property>
                                     </configuration>
                                 </generatorConfiguration>
                             </generatorConfigurations>
                             <jvmSettings>
                                 <!-- jvm参数 -->
                                 <systemProperties>
                                     <systemProperty>com.sun.management.jmxremote</systemProperty>
                                     <systemProperty>com.sun.management.jmxremote.port=1984</systemProperty>
                                     <systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty>
                                     <systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty>
                                 </systemProperties>
                                 <extraArguments>
                                     <extraArgument>-server</extraArgument>
                                 </extraArguments>
                             </jvmSettings>
                         </daemon>
                     </daemons>
                 </configuration>
             </plugin>

执行mvn clean package appassembler:generate-daemons,执行完成之后,在target\generated-resources\appassembler\jsw\目录里面就有后台运行的程序。

文章永久链接:https://tech.souyunku.com/?p=15203


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(93) 打赏



未经允许不得转载:搜云库技术团队 » 使用appassembler插件生成启动脚本

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367