Skip to content

模块打包

1. maven打成jar包

在attendance模块的pom.xml添加以下内容:

xml
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.4.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.rocket.attendance.DailyWork</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

在父maven项目下,直接执行package: Alt text

2. 打包jmods

使用jmod命令将项目jar包按照模块打成jmods文件(直接并不能直接使用),可以理解为jmods文件=普通jar包+权限控制

cmd
jmod create --class-path sys-0.0.1-SNAPSHOT.jar sys.jmod
jmod create --class-path attendance-0.0.1-SNAPSHOT.jar attendance.jmod

2.2 生成定制的JRE环境

将sys.jmod和attendance.jmod文件放在parts文件夹:
Alt text 在jmods-demo文件夹下执行命令:

cmd
jlink --module-path parts --add-modules java.base,com.rocket.sys,com.rocket.attendance --output myjre

命令执行完毕后会在jmods-demo文件夹下生成myjre文件夹:
Alt text 进入myjre文件夹,执行我们的com.rocket.attendance模块:
Alt text