Ubuntu (NetBeans)上的可执行JAR



我正在用NetBeans编写一个简单的Swing应用程序,并且是第一次在Ubuntu机器上这样做。

很多人都知道,NetBeans会自动为"设置为main"的项目创建可执行的jar文件。

在Windows上,你可以双击一个可执行的JAR文件,它会自动调用JRE并运行该应用程序。在Ubuntu中,双击. JAR文件会导致该文件在存档管理器中打开。为了运行我的JAR,我必须右键单击它并选择"Open with OpenJDK Java 6 Runtime",或者从命令行启动它。

从命令行我没有得到任何问题。然而,当我尝试从右键菜单启动它时,我得到一个错误:

MySwingApp.jar文件没有被标记为可执行文件…

我有两个问题:

  1. 我该怎么做才能将它设置为可执行文件?这是我可以在NB内部做的还是我必须使用外壳?如果我必须通过shell设置权限,这与NB的自动生成**可执行** jar的策略不冲突吗?我该用什么命令来翻转可执行位呢?
  2. 这只是一个Linux的小问题吗?我想把这个JAR发送给使用Windows的朋友,我希望他们能够双击它并启动程序

谢谢你的建议!

  1. 您需要手动调整您的构建过程,以使jar文件在Netbeans中标记为可执行文件。转到项目根目录并打开build.xml。头文件有添加到构建过程的说明。有一个目标,"-post-jar",它在构建jar之后被调用。您需要创建这个目标,并使用Ant的chmod任务来修改jar。一旦你这样做了,它将在每次你在该项目中创建一个jar文件时发生。

  2. 只要你的朋友安装了JRE,它可以在你的Windows机器上正常运行。

这是一个关于在Linux中使用双击运行jar的线程。

您可以在Ubuntu(和其他linux)上像本地二进制文件一样使用Java,这是内核的一个特性。您需要安装binfmt-support包,以便为内核提供以这种方式运行java的钩子。

在Ubuntu中打开终端并运行:

sudo apt-get install binfmt-support

然后使你的JAR文件可执行

chmod a+x yourjar.jar

然后你可以像运行其他二进制文件一样运行你的JAR,输入

yourjar.jar

jar文件不是第一类可执行文件,并且它们不会通过更改可执行标志而神奇地变成可执行文件。

如果您执行一个jar,您可以运行命令

 java -jar YOURJAR.jar ...

这是一样的,如果你双击一个png文件,并期望它在绘画程序中运行

 gimp YOUR.png

你不需要把你的png文件变成可执行文件,这样也解决不了问题。

相反,你必须告诉你的桌面环境,当双击jar或png文件时该怎么做,你必须在Linux上像在Windows上那样做-也许Windows上的安装程序为你做了,因为通常只有桌面环境(Windows)在操作系统(Windows)上,但Linux有Gnome, KDE, XFCE, LXDE, fluxbox和数百万。

它不确定你想用它做什么。由于jar文件是一种特殊形式的压缩文件,通常包含Manifest和类,所以Archivmanager不是错误的解决方案,并且显示存档的内容比执行它更节省。

将文件复制到windows无效。Windows甚至没有一个可执行标志,但你不应该摆弄它。你更改了桌面设置,这些设置不能移动到窗口,你也不想这样做。

如果您在DE中有正确的设置,则不需要反复告诉Netbeans或任何其他IDE如何处理jar文件。

我浏览了一下互联网,看到一篇文章介绍了运行jar文件的完整步骤http://mlartist.blogspot.in/2012/07/deployment-netbeans-project-in-linux.html

Jar文件基本上是一个zip文件,要创建一个可执行文件,您有几种不同的方法。最好的(在我看来)是使用ant来创建它。或者您可以简单地echo "Main-Class: YOUR.MAIN.CLASS" >> Manifest,然后通过jar -cmf Manifest JARFILENAME.jar INPUTFILES创建您的jar,然后使其在linux下可执行,右键单击它并单击属性。然后点击权限选项卡,选中execute。或者您可以是一个终端bamf和cd到jar目录和chmod +x JARFILE.jar坭兴快乐! !

相关内容

  • 没有找到相关文章

最新更新