当前位置:首页 > Java

java程序如何发布

2026-03-03 13:46:58Java

打包 Java 程序为 JAR 文件

使用 JDK 自带的 jar 工具将编译后的 .class 文件和资源文件打包为 JAR 文件。通过以下命令生成可执行的 JAR 文件(需包含 MANIFEST.MF 指定主类):

jar cvfm app.jar MANIFEST.MF -C target/classes .

MANIFEST.MF 示例内容:

Main-Class: com.example.Main

构建可执行的独立 JAR

通过 Maven 或 Gradle 插件生成包含依赖的 Fat JAR(如 Spring Boot 的 spring-boot-maven-plugin)。Maven 配置示例:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.example.Main</mainClass>
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
</plugin>

发布到本地 Maven 仓库

使用 Maven 将库项目安装到本地仓库供其他项目依赖:

mvn install

生成的 pom.xml 需包含 groupIdartifactIdversion 信息。

发布到远程仓库(如 Maven Central)

配置 settings.xmlpom.xml 添加仓库认证信息,运行:

mvn clean deploy

需提前在 Sonatype 等平台注册账号并完成 GPG 签名配置。

生成原生镜像(GraalVM)

使用 GraalVM 的 native-image 工具将 Java 程序编译为原生可执行文件:

native-image -jar app.jar --no-fallback

适用于需要快速启动或无 JVM 环境的场景。

容器化部署(Docker)

创建 Dockerfile 基于 OpenJDK 或原生镜像构建容器:

FROM openjdk:17-jdk
COPY target/app.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

构建并运行容器:

docker build -t java-app .
docker run -p 8080:8080 java-app

平台特定打包(JPackage)

使用 JDK 14+ 的 jpackage 生成系统安装包(如 .deb.msi):

java程序如何发布

jpackage --input target/ --name MyApp --main-jar app.jar --main-class com.example.Main

支持 Windows、Linux 和 macOS 的本地安装体验。

标签: 程序java
分享给朋友:

相关文章

java如何运行

java如何运行

运行Java程序的基本方法 Java程序的运行需要经过编写、编译和执行三个主要阶段。以下是具体步骤: 编写Java源代码 创建一个以.java为后缀的文件,例如HelloWorld.java。文件内…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何遍历map

java如何遍历map

遍历Map的几种方法 在Java中,遍历Map有多种方式,可以根据需求选择合适的方法。以下是常见的几种遍历方式: 使用entrySet遍历 通过entrySet()方法获取键值对的集合,可以同时访问…

如何成为java架构师

如何成为java架构师

掌握扎实的Java基础 深入理解Java核心知识,包括多线程、集合框架、JVM原理、设计模式等。熟悉Java生态中的常用框架如Spring、MyBatis、Hibernate等,并能分析其源码实现。…

小程序使用vue实现

小程序使用vue实现

使用 Vue 实现小程序的开发方法 Vue 本身是前端框架,而小程序(如微信小程序)有独立的开发体系。若想用 Vue 的语法或生态开发小程序,可通过以下方案实现: 使用跨平台框架(推荐) mpvue…