当前位置:首页 > 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如何创建项目

使用IDE创建Java项目(以IntelliJ IDEA为例) 打开IntelliJ IDEA,选择“New Project”。 在左侧菜单中选择“Java”,确保已配置JDK(若无需手动添加)。 勾…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

java如何避免死锁

java如何避免死锁

避免死锁的方法 固定顺序获取锁 确保所有线程按照相同的顺序获取多个锁。例如,若需要获取锁A和锁B,所有线程必须先获取A再获取B,避免交叉依赖导致的死锁。这种方式破坏了“循环等待”条件。 使用锁超时机…

java实现vue接口

java实现vue接口

Java 实现 Vue 接口的方法 在 Java 中实现 Vue 前端调用的接口,通常需要使用 Spring Boot 框架构建 RESTful API。以下是具体的实现步骤和代码示例。 创建 Sp…

react如何与java配合

react如何与java配合

React 与 Java 配合的常见方式 React 作为前端框架,通常与 Java 后端通过 RESTful API 或 GraphQL 进行交互。以下是几种常见的配合方式: RESTful AP…