当前位置:首页 > Java

如何包装java

2026-03-20 09:27:19Java

打包Java项目为JAR文件

使用Maven或Gradle构建工具可以轻松将Java项目打包为JAR文件。Maven在pom.xml中配置打包插件,Gradle在build.gradle中定义任务。

对于Maven项目,运行以下命令生成可执行JAR:

mvn clean package

生成的JAR文件默认位于target目录下。如需包含依赖,配置maven-assembly-pluginmaven-shade-plugin

创建可执行JAR

MANIFEST.MF中指定主类,使JAR可执行。Maven配置示例:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

包含依赖库

使用maven-assembly-plugin创建包含所有依赖的fat JAR:

如何包装java

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

使用Gradle打包

Gradle项目配置示例:

plugins {
    id 'java'
    id 'application'
}

mainClassName = 'com.example.Main'

jar {
    manifest {
        attributes 'Main-Class': mainClassName
    }
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

运行gradle build后,JAR文件位于build/libs目录。

使用IDE打包

在Eclipse或IntelliJ IDEA中,可通过导出功能生成JAR:

如何包装java

  • Eclipse:右键项目 > Export > Java > JAR file
  • IntelliJ:File > Project Structure > Artifacts > Add JAR

创建Docker镜像

将Java应用容器化,创建Dockerfile

FROM openjdk:11-jre-slim
COPY target/myapp.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

构建并运行镜像:

docker build -t myapp .
docker run -p 8080:8080 myapp

使用jlink创建自定义运行时

Java 9+支持创建精简的JRE:

jlink --module-path $JAVA_HOME/jmods --add-modules java.base,java.sql --output customjre

标签: java
分享给朋友:

相关文章

java如何输入

java如何输入

使用Scanner类进行输入 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读取数据。需要导入java.util.Scanner包。 基本语法: Scanner sca…

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…

java如何使用

java如何使用

安装Java开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

如何使用java

如何使用java

安装Java开发环境 从Oracle官网下载JDK(Java Development Kit)并安装。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。 验…

java如何输出

java如何输出

Java 输出方法 在 Java 中,可以通过多种方式输出内容到控制台或其他目标。以下是几种常见的输出方法: 使用 System.out.println() System.out.println()…