我正在NetBeans中编写一个简单的Swing应用程序,并首次在Ubuntu机器上这样做。
如您所知,NetBeans会自动为“设为主”的项目创build可执行JAR。
在Windows上,您可以双击一个可执行的JAR,它会自动调用JRE并运行该应用程序。 在Ubuntu中,双击.jar文件会导致文件在存档pipe理器中被打开。 为了运行我的JAR,我必须右键单击它并select“OpenJDK Java 6 Runtime”或从命令行启动它。
从命令行我没有任何问题。 但是 ,当我尝试从右键单击菜单中启动它时,出现以下错误:
文件MySwingApp.jar没有标记为可执行文件…
所以我有两个问题:
感谢您的任何有用的build议!
您将需要手动调整您的构建过程,以获得Netbeans中标记为可执行的jar文件。 转到您的项目根目录并打开build.xml。 头文件有添加到构建过程的说明。 有一个目标,“-post-jar”,在jar被创建之后被调用。 你需要制作这个目标,并使用Ant的chmod任务来修改你的jar。 一旦你这样做,每当你在该项目中创建一个jar文件,就会发生这种情况。
只要他安装了JRE,它就可以在朋友的Windows机器上正常运行。
这里是关于在Linux中使用双击来运行jar的一个线程 。
Java可以像Ubuntu(和其他Linux)上的本地二进制文件一样,它是内核的一个特性。 你需要安装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-File时要做什么,而且你必须像在Windows上那样在Linux上执行 – 也许Windows上的安装程序会为你做,因为通常只有在操作系统(Windows)上的桌面环境(Windows)上,而Linux有Gnome,KDE,XFCE,LXDE,fluxbox和数以百万计。
而且它不太清楚你想用它做什么。 由于jar文件是压缩zip文件的特殊形式,通常包含Manifest和类,所以Archivmanager并不是一个错误的解决方案,它比显示存档的内容更节省。
将文件复制到Windows没有任何影响。 Windows甚至没有一个可执行的标志,但你不应该摆弄它。 你改变你的桌面设置,那些不能被移动到窗口,你不会想。
如果您在DE中有正确的设置,则不需要反复告诉Netbeans或任何其他IDE,如何处理jar文件。
我经历了互联网,我遇到了一个完整的步骤运行jar文件的文章http://mlartist.blogspot.in/2012/07/deployment-netbeans-project-in-linux.html
Jar文件基本上是一个zip文件,要创建一个可执行文件,你有几种不同的方法。 最好的(在我看来)是用蚂蚁来创造它。 或者你可以简单地echo "Main-Class: YOUR.MAIN.CLASS" >> Manifest
,然后通过jar -cmf Manifest JARFILENAME.jar INPUTFILES
创建你的jar -cmf Manifest JARFILENAME.jar INPUTFILES
然后,为了使它在linux下可执行,右键单击它并单击属性。 然后点击权限选项卡并检查execute
。 或者你可以是一个终端bamf和cd到jar目录和chmod +x JARFILE.jar
HAPPY NIXING !!