如何使我用Java编写的程序对其他人可用?
所以我写了一个有趣的小程序,我想把它展示给我的一些朋友。我的朋友,不是程序员,不知道如果我把包含必要类和文件的文件夹发给他们该怎么办。我希望能够给他们发电子邮件(或者把它放在cd/thumbdrive上),然后他们可以双击并让它运行程序。我完全不知道如何才能做到这一点。我在上一门课,我们使用linux计算机(我不在课堂上时使用mac),我们必须对.java文件进行javac,然后使用java“文件名”使其运行。我在Mac和PC上有朋友,我希望他们能够点击程序并启动它如何使我用Java编写的程序对其他人可用?,java,object,draw,exe,.app,Java,Object,Draw,Exe,.app,所以我写了一个有趣的小程序,我想把它展示给我的一些朋友。我的朋友,不是程序员,不知道如果我把包含必要类和文件的文件夹发给他们该怎么办。我希望能够给他们发电子邮件(或者把它放在cd/thumbdrive上),然后他们可以双击并让它运行程序。我完全不知道如何才能做到这一点。我在上一门课,我们使用linux计算机(我不在课堂上时使用mac),我们必须对.java文件进行javac,然后使用java“文件名”使其运行。我在Mac和PC上有朋友,我希望他们能够点击程序并启动它 如果有区别,程序是使用对象绘
如果有区别,程序是使用对象绘制库编写的。您需要告诉我们您使用的是哪个IDE,但只需将其编译成一个可执行的jar,它们可以在所有具有java版本的系统上工作,您可以再次编译它们(因此是多平台的)使用
jar
命令来构建一个可执行的jar文件。它基本上是一个有一定保证的ZIP文件
在jar文件中,您需要一个/META-INF目录,其中包含一个名为的文件。它描述了jar文件的“清单”,该文件在某些方面是根据装运清单建模的
在MANIFEST.MF文件中,您需要该指令
Main-Class: org.mystuff.path.Main
当jar文件通过命令“exectued”时,它应该指示JVM运行org.mystuff.path.Main类
java -jar myproject.jar
请注意,JAR文件处理类路径的方式往往不同,因为它们忽略了CLASSPATH环境变量和-CLASSPATH命令行选项。如果需要引用其他JAR文件,则需要在MANIFEST.MF文件中添加classpath指令。使用上面的清单链接查看有关嵌入类路径的详细信息
根据“项目”的简单性,一个JAR文件可能就足够发送给他们了;然而,如果您需要更多,您可能会发现自己必须在几个目录中发送几个文件。在这种情况下,将文件(包括JAR文件)和目录放在第二个zip文件中。虽然您可以从许多不同的方式中选择“打包”项目,但我推荐您
(layout inside the zip file)
/Readme.txt (a text file describing what to do for new comers)
/License.txt (a text file describing how liberal / restrictive you wish to be concerning your authorship rights.
(the license sounds like overkill, but without it nobody can prove they're not breaking the law)
/bin/myprogram.sh (shell script containing "java -jar ../lib/myprogram.jar")
/bin/myprogram.cmd (Windows batch file containing "java -jar ..\lib\myprogram.jar")
/lib/myprogram.jar (the executable jar file containing your compiled code)
/lib/otherjar.jar (other jar files, as necessary)
使用这种zip文件结构,安装说明将变成“解压zip文件;将目录更改为“bin”并运行“myprogram.whatever”。我会说,使用小程序,那么就不需要运行任何命令。下面是您可以做的
<script>
var jEnabled = navigator.javaEnabled();
if (!jEnabled){
document.write("<a href=\"http://www.java.com/en/download/help/enable_browser.xml\">Enable Java</a> on your browser to view me ");
}
</script>
<br><br>
<applet code="AppletLauncher.class" width=100 height=140/>
var jEnabled=navigator.javaEnabled();
如果(!jEnabled){
文档。写(“在浏览器上查看我”);
}
使用objectdraw创建可执行jar文件: 通常,objectdraw与BlueJ IDE一起使用,因此这些说明用于使用BlueJ和objectdraw库
public class Main{
public static void main(String[] args){
ClassWithABeginMethod game = new ClassWithABeingMethod();
game.begin();
}
}
你知道如何制作可执行JAR吗?这里有一篇关于可执行JAR的帖子很有趣……可执行JAR文件与Mac和Windows兼容吗?@Calwellysr,它们应该是,java是跨平台的。@Calwellysr:它们与任何安装了适当JVM的系统兼容(即,如果您在Java 6下编译应用程序,那么他们将需要Java 6 JVM)。不使用IDE。我正在使用命令提示符来编写、编译和运行文件。使用IDE,它将帮助您。Eclipse、Netbeans或IntelliJ。我的问题是,我已经在扩展WindowController,因为它是使用ObjectDraw库编写的。我制作了一个可执行jar,但它不工作,我认为这是因为ObjectDraw。我想我我只需要等到下学期我们不再使用ObjectDraw。啊,我没有看到关于ObjectDraw的评论,看看Java Web Start,它有点复杂,但会是一个很好的学习工具