java中的Main函数的直接运行,通常需要写shell脚本,脚本写法都是类似的,maven提供了一个插件可以自动生成shell脚本,插件名称为appassembler-maven-plugin。这里讲讲jsw方式的配置方法,官网例子。这里结合实际使用情况说一下各个配置项的含义。
配置脚本如下:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.10</version> <executions> <execution> <!--执行脚本的id--> <id>generate-jsw-scripts</id> <!--在maven的package阶段执行--> <phase>package</phase> <goals> <goal>generate-daemons</goal> </goals> </execution> </executions> <configuration> <!--打包后生成的目录位置--> <target>${project.build.directory}/assembler</target> <!--是否将配置文件包含到classpath--> <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath> <!--为系统配置文件指定一个目录--> <configurationDirectory>conf</configurationDirectory> <!--源代码中对应的系统配置文件的位置--> <configurationSourceDirectory>src/main/resources</configurationSourceDirectory> <!--是否拷贝源代码中配置文件中的目录--> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!--依赖的lib包的目录格式,flat表示不分目录平铺到lib目录下--> <repositoryLayout>flat</repositoryLayout> <!--依赖的lib包的目录名称--> <repositoryName>lib</repositoryName> <daemons> <daemon> <id>app1</id> <!--系统的入口main函数类--> <mainClass>com.xxx.xxx.xxx.xxx.Main</mainClass> <jvmSettings> <initialMemorySize>256M</initialMemorySize> <maxMemorySize>512M</maxMemorySize> </jvmSettings> <generatorConfigurations> <generatorConfiguration> <generator>jsw</generator> <includes> <include>linux-x86-64</include> <includ>windows-x86-64</includ> </includes> <configuration> <property> <!--手动添加一个系统启动时依赖的第一个classpath,这里通常写为配置文件的目录名,如果不配置,配置文件无法找到--> <name>configuration.directory.in.classpath.first</name> <value>conf</value> </property> <property> <name>wrapper.logfile</name> <value>log/spy-snatch.log</value> </property> </configuration> </generatorConfiguration> </generatorConfigurations> <platforms> <platform>jsw</platform> </platforms> </daemon> </daemons> </configuration> </plugin> </plugins> </build>
最后打包后的目录结构:
bin
conf
lib
logs
启动方法:
/bin/app1 start
相关推荐
本文将详细讲解如何使用Maven来打包一个Java项目,并创建JAR文件。 首先,Maven有三个主要生命周期阶段:`clean`、`default`(也称为`compile`)和`install`。每个阶段包含一系列的阶段(或者称为目标,如`compile`...
当我们处理Web应用程序时,通常会将编译后的类文件(classes)打包到特定的目录结构中,例如`WebContent/WEB-INF/classes`。这个目录结构是符合Java EE规范的WAR包标准布局。现在我们来详细讨论如何使用Maven来实现...
然而,有时候在使用Maven进行打包操作时,可能会遇到各种问题。本篇文章将详细阐述如何解决Maven打包出错的问题,并分享一些关于搭建Maven私服的知识。 一、Maven打包出错常见原因及解决办法 1. **依赖冲突**:当...
sprintboot maven 打包分离lib jar 资源文件 properties xml yml 详细信息查看我的博客 https://mp.csdn.net/postedit/80274087 java -jar -cp 启动
idea新建maven web项目.zip Jetbrains IntelliJ IDEA创建基于maven打包工具的WEB网站项目 本项目使用的是SSM框架spring mvc,spring, mybatis.用maven打包成jar
"maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....
在命令行中,我们可以通过运行 `mvn clean package` 命令来触发Maven生命周期,这将清理旧的构建产物,编译源代码,并最终打包项目。在这个过程中,YUI Compressor会自动对指定的CSS和JS文件进行压缩。 4. **检查...
org.apache.maven.plugins maven-jar-plugin true lib/ xx.xx.xx.xx <!-- 分离配置文件 *.** */*.xml
此外,还可以通过“运行配置”创建Maven构建,自定义打包命令和参数。 在“打包实战”中,你可能会学到如何处理依赖、解决版本冲突、配置插件、以及如何生成包含所有依赖的可执行JAR(fat JAR)。这通常通过`maven-...
在本文中,我们将深入探讨如何使用Spring Boot和Maven来构建一个项目,使得依赖和配置文件被打包到jar包外部,以实现更加灵活的项目管理。这个方法对于那些需要根据不同环境进行定制配置或者频繁更新配置的应用来说...
本文将详细介绍如何通过编写脚本实现Maven项目的版本号自动升级以及打包上传的过程。 首先,我们要理解Maven的版本管理。在Maven的`pom.xml`文件中,定义了项目的版本号,如`<version>1.0.0-SNAPSHOT</version>`。...
当前案例中包含一整套的代码和word文档,非常适合新手... 主要是通过maven打包加载不同环境的properties文件 然后将对于的属性绑定到指定的实体对象中;然后通过调用接口可以看到加载不同环境控制台打印的内容是不一样的
Maven作为项目管理和构建工具,可以帮助我们自动化构建、打包和依赖管理。本篇文章将详细探讨如何使用Maven的`maven-assembly-plugin`插件来打包Dubbo服务接口。 首先,我们要理解Maven的生命周期和构建过程。Maven...
本教程将详细介绍如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包的步骤,确保整个过程顺利且有效。 首先,我们需要了解Maven,它是一个强大的项目管理和依赖管理工具。通过在`pom.xml`文件中配置,我们可以...
在IT行业中,开发Java应用程序时,我们经常需要将代码打包成可执行的JAR文件,以便于部署和分发。本教程将详细讲解如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包,确保代码的安全性并提高可维护性。 首先,...
标题 "spring 扫描jar maven 打包" 涉及的是在Java开发中,如何使用Spring框架和Maven工具来构建并打包一个项目,其中包含Spring对jar包的扫描以及Maven的打包流程。这里我们将深入探讨这两个关键概念。 1. **...
在Maven的POM.xml文件中,我们可以配置各种插件来执行特定的任务,如编译代码、运行测试、打包应用等。 在"maven+bat打包"的场景中,POM.xml文件中会包含一个特定的插件配置,用于执行自定义的批处理脚本。这个脚本...
jasperreport 用maven打包后找不到字体解决方案 net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font
当使用Maven进行项目打包时,会根据项目的`pom.xml`文件中定义的依赖关系自动下载所需的库文件,并将这些文件打包到最终的应用程序中。在这个过程中,可能会出现一些JAR包因为各种原因而未被正确包含在内,从而导致...
【标题】:“Maven 3 Jar 运行文件打包” 在Java开发中,Maven是一个广泛应用的构建工具,它能够帮助我们管理项目依赖、构建工件(如JAR文件)以及自动化项目的构建过程。当我们想要将Java应用程序打包成可执行的...