在Debian系统上打包和发布Java应用程序可以按照以下步骤进行:
sudo apt-get update
sudo apt-get install build-essential fakeroot devscripts
sudo apt-get install openjdk-11-jdk
sudo apt-get install maven
# 或者
sudo apt-get install gradle
my-java-app
,项目结构如下:my-java-app/
├── src/
│ └── com/
│ └── example/
│ └── Main.java
├── debian/
│ ├── control
│ ├── changelog
│ ├── compat
│ ├── postinst
│ └── prerm
└── pom.xml (如果使用Maven)
cd my-java-app
javac -d out src/com/example/Main.java
mvn package
jar cvfm my-java-app.jar Manifest.MF -C out .
初始化Debian目录结构:
cd my-java-app
dh_make --native --single --packagename my-java-app --email your.email@example.com
修改生成的文件:
debian/control
文件:Source: my-java-app
Section: java
Priority: optional
Maintainer: Your Name <your.email@example.com>
Build-Depends: debhelper (>= 10), openjdk-11-jdk (>= 11.0.0)
Standards-Version: 4.1.2
Package: my-java-app
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: A sample Java application
debian/changelog
文件:my-java-app (1.0-SNAPSHOT) unstable; urgency=medium
* Initial release.
-- Your Name <your.email@example.com> Mon, 01 Jan 2024 00:00:00 +0000
debian/rules
文件:#!/usr/bin/make -f %:
include /usr/share/debhelper/makefiles/debhelper.mk
Java_CFLAGS = -g -O2
Java_LDFLAGS = -g -O2
binary: $(JAVA_BINARY)
$(JAVA_BINARY): $(patsubst src/%.java,%,$(shell find src -name .java))
javac $(Java_CFLAGS) $^ -d out
jar cvfm my-java-app.jar Manifest.MF -C out .
clean:
rm -rf out
构建Debian包:
debuild -us -uc -nc
构建完成后,你会在上级目录中找到生成的.deb
文件,例如my-java-app_1.0_amd64.deb
。
sudo dpkg -i my-java-app_1.0_amd64.deb
dput
命令将.deb
文件上传到远程仓库。具体步骤可以参考Debian仓库文档。通过以上步骤,你就可以在Debian系统上打包并发布Java应用程序了。