我编写了 4 个 .java 文件。问题是我只能从 IDE 执行 .java 文件,如何像应用程序一样执行 .class 文件?我在大学学习,有人告诉我 Java 是独立于平台的。任何教程/书籍推荐将不胜感激。
谢谢
我编写了 4 个 .java 文件。问题是我只能从 IDE 执行 .java 文件,如何像应用程序一样执行 .class 文件?我在大学学习,有人告诉我 Java 是独立于平台的。任何教程/书籍推荐将不胜感激。
谢谢
基本思想(给你一些搜索的东西)是:
当您运行“干净构建”时,您可能会发现您的 IDE 已经创建了它。Netbeans 将其放入“dist”文件夹中。
现代 JRE 将允许您通过双击它等来运行 jar。
您还可以通过使用诸如 JSmooth 之类的工具将 jar 包装在本机可执行文件中来更进一步。
查看可执行 jar。这是精确的,没有任何细节,创建可执行的 jar 文件。
Java 文件必须通过 Java 虚拟机运行,因此您可以从命令行运行您的类文件。
如果您有一个名为filename.java的文件,请将其编译为filename.class ,然后您可以通过键入java filename从命令行运行它
如果您想在 Windows 上分发您的应用程序,请查看JSmooth。
JNLP/Web 启动
“基本的想法(给你一些搜索的东西)是:
将已编译的 .class 文件捆绑到“jar”中。将清单添加到您的 jar 中,指定要运行的主类。当您运行“干净构建”时,您可能会发现您的 IDE 已经创建了它。Netbeans 把它放到一个 'dist' 文件夹中。”(by Cogsy)
另外要实现这一点,您可以选择:
根据 IDE,有些支持导出功能,可以为您创建 .jar 可执行文件。例如,在 Eclipse 中,您有该选项。此外,还有用于 Eclipse 的附加插件,例如 Fat-Jar,它将包括您包含的任何附加库,这些库不属于 Sun 的标准库的一部分。(作者:kchau)
或者,如果您要处理严肃的事情,请选择 Ant 或 Maven 之类的构建脚本。下面是一个 Ant build.xml 脚本的示例:
<project name="jar with libs" default="compile and build" basedir=".">
<!-- this is used at compile time -->
<path id="example-classpath">
<pathelement location="${root-dir}" />
<fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" />
</path>
<target name="compile and build">
<!-- deletes previously created jar -->
<delete file="test.jar" />
<!-- compile your code and drop .class into "bin" directory -->
<javac srcdir="${basedir}" destdir="bin" debug="true" deprecation="on">
<!-- this is telling the compiler where are the dependencies -->
<classpath refid="example-classpath" />
</javac>
<!-- copy the JARs that you need to "bin" directory -->
<copy todir="bin">
<fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" />
</copy>
<!-- creates your jar with the contents inside "bin" (now with your .class and .jar dependencies) -->
<jar destfile="test.jar" basedir="bin" duplicate="preserve">
<manifest>
<!-- Who is building this jar? -->
<attribute name="Built-By" value="${user.name}" />
<!-- Information about the program itself -->
<attribute name="Implementation-Vendor" value="ACME inc." />
<attribute name="Implementation-Title" value="GreatProduct" />
<attribute name="Implementation-Version" value="1.0.0beta2" />
<!-- this tells which class should run when executing your jar -->
<attribute name="Main-class" value="ApplyXPath" />
</manifest>
</jar>
</target>
</project>