0

我有一个 Java 项目,我在 Eclipse 中成功执行了它。现在我如何做一个可安装的文件。

我正在使用 Linux mint,所以根据这个操作系统来判断。

我正在尝试使用 DEBIAN,但我没有成功。

最后,我需要知道我必须在 preinst、postinst、prerm 和 postrm 文件中编写/编码什么。

4

3 回答 3

1

Debian 文件创建

第 1 步:使用您想要的项目名称创建一个文件夹。[例如。项目名称]

第 2 步:创建一个空文件夹,如下所示。

  1. DEBIAN [必须大写]
  2. 用户

第 3 步:在 DEBIAN 文件夹中创建一个文件作为“控制”,没有任何扩展名,并将以下数据放入其中。

Package: projectname
Version: 2.6-r1473-1
Section: editors
Priority: optional
Architecture: all
Depends: sun-java5-jre | sun-java6-jre | openjdk-6-jre | openjdk-7-jre
Conflicts: projectname-praha
Replaces: projectname-praha
Installed-Size: 15684
Maintainer: projectname Developers <contact@projectname.biz>
Homepage: http://projectname.biz/
Description: Free cross-platform project scheduling and management tool. Gantt chart, resource load chart, MS Project import/export.
 projectname is a free and easy to use Gantt chart based project scheduling and management tool.
 The full installation includes:
 .
 * Task hierarchy and dependencies
 * Gantt chart
 * Resource load chart
 * Generation of PERT chart
 * WebDAV based groupwork
 * Export to PDF and HTML
 * Microsoft Project import and export

最后保存退出。

第 4 步:在 DEBIAN 文件夹中创建一个不带任何扩展名的文件为“postinst”并将其放入

#!/bin/sh 
set-e

if [ "$1" = "configure" ]; then 
    if [ -e /usr/bin/projectname ]; then rm -f usr/bin/projectname; fi 

    ln -s /usr/bin/projectname/projectname /usr/bin/projectname 

    if [ -x "$(which update-menus 2>/dev/null)" ]; then update-menus; fi 
    if [ -x "$(which update-mime 2>/dev/null)" ]; then update-mime; fi 
fi

在这里,在第 6 行“/usr/bin/projectname”是用户定义的,你可以定义为你自己的,你需要安装你的项目。

第 5 步:在 DEBIAN 文件夹中创建一个不带任何扩展名的文件为 'postrm' 并将其放入

#!/bin/sh
set-e
    if [ -e /usr/bin/projectname ]; then rm -f usr/bin/projectname; fi

    if [ -x "$(which update-mime >/dev/null 2>&1)" ]; then update-mime; fi

    if [ -x "$(which update-menus 2>/dev/null)" ]; then update-menus; fi

fi

第 6 步:在“usr”文件夹中创建一个文件夹作为“lib”和“share”文件夹

  • 在“lib”文件夹中创建“mime”文件夹。
  • 在“mime”文件夹中创建“packages”文件夹。
  • 在'packages'中创建一个没有任何扩展名的文档作为项目名称,并将以下数据放入其中。

    application/projectname+xml; projectname '%s'; description="projectname file"; test=test -n "$DISPLAY"; nametemplate=%s.gan 
    

第 7 步:现在回到“share”文件夹,在 applications、doc、projectname、mime、pixmaps 的名称中创建五个文件夹。现在

  • 在“应用程序”文件夹中放置“projectname.desktop”文件。
  • 在 'doc' 文件夹中创建 'projectname' 文件夹并从您的项目中放入 AUTHORS、README、LICENSE 文件。

现在回到“share”文件夹并在“projectname”文件夹中放入项目中的 [plugins 文件夹、eclipsito.jar、projectname、HouseBuildingSample.gan(这里,projectname 是可运行文件。)] 文件。这些插件文件夹、eclipsito.jar、projectname、HouseBuildingSample.gan 都是在你完成项目执行后创建的。

现在回到“share”文件夹,在“mime”文件夹中,将文件夹创建为“packages”,并在此文件夹中放入项目中的“projectname.xml”文件。现在回到“share”文件夹并在“pixmaps”文件夹中放置项目中的“projectname.png”文件。可以使用 .jpeg 或 jpg 代替扩展名 .png。

第8步:现在打开终端并打开项目所在的文件夹/路径(例如cd Desktop):

write sudo dpkg -b <projectname>

将创建 Debian 文件。您可以使用该文件来安装它。

做 Debian 软件包时的错误:

可能有机会得到这样的错误

控制目录有错误的权限 555 (必须>=0755 <=0775)

要解决此类错误,请给出此命令

chmod 0755 <path of the project>

例如:chmod 0755 /home/vrmg15/Desktop/projectname/DEBIAN

于 2013-09-28T11:08:08.137 回答
0

如果您真的想要安装程序,我建议您自己编写,但我认为,您的意思是将其导出为可执行文件。

对于第二个选项,在 Eclipse 中执行以下操作:文件->导出...->Java/Runnable Jar 文件

您的启动配置将具有包含您的主要方法的类的名称。作为文件名,您应该使用 yourapplication.jar。

单击完成后,您可以通过双击该文件或在命令行上使用 java -jar yourapplication.jar 来执行该文件。

编辑:您需要导出的 jar 文件才能创建 debian 包。我对 debian 包没有任何经验,但我确信这必须在 eclipse 之外完成。

如果要使用单个终端命令启动程序,可以将以下脚本放入 /usr/bin

#!/bin/sh
java -jar /path/to/your/jarfile

并使其可执行 ( chmod +x /usr/bin/yourapp)

于 2013-09-26T11:36:41.070 回答
-1

你必须用很少的java文件制作一个jar文件

于 2019-06-08T07:11:19.220 回答