如何从.java制作JAR

我正在编写一个简单的程序,使用一个具有单个框架的Java应用程序(不是具有项目的应用程序,而是项目中的应用程序; .java)。 这两个文件都是.java,所以我不能编写JAR所需的清单。 MyApp.java的启动就像一个带有包的类,然后导入public class MyApp {并且有一个主函数,但仍然是.java! 如果有帮助,我将它写入JDeveloper 11g中。

任何想法如何从这些文件做一个JAR?

打开命令提示符。

转到你有你的.java文件的目录

创build一个目录构build

从命令行运行java编译

javac -d ./build *.java 

如果没有错误,在build目录中你应该有你的类树

移动到build立目录,并做一个

 jar cvf YourJar.jar * 

用于添加清单检查jar命令行开关

只需使用命令行:

 javac MyApp.java jar -cf myJar.jar myApp 

确保IDE避免使用命令行terminal

好吧,这是我希望find的解决scheme,而是在这里我写:

首先创build与为.java文件定义的包相对应的目录结构,如果是my.super.application,则创build目录“my”,并在其中添加“super”,并在其中添加.java文件“App.java”

然后从命令行:

  javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java 

注意上面将包括多个库,如果在windows下使用“,”来分隔多个文件,否则在GNU / Linux下使用“:”来创build一个jar文件

  jar -cvfe App.jar App my/app/ 

上面将创build应用程序及其相应的Manifest,指示App作为主类。

在jar文件中包含所需的库是不可能的,使用java或jar命令行参数。

你可以改为:

  1. 手动将库提取到jar文件的根文件夹
  2. 使用Netbeans之类的IDE,并在nbproject / build-impl.xml的post-jar部分中插入一个规则来提取jar中的库。 见下文。
 <target name="-post-jar"> <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> <jar jarfile="${dist.jar}" update="true"> <zipfileset src="${dist.jar}" includes="**/*.class" /> <zipfileset src="${file.reference.iText-1.0.8.jar}" includes="**/*"/> <zipfileset src="${file.reference.itextpdf-3.2.1.jar}" includes="**/*"/> </jar> </target> 

将库添加到Netbeans IDE后,可以在project.properties文件中findfile.reference名称。

这可以在没有terminal的情况下直接从IDE完成。 Netbeans,例如。

  1. 使用包创build一个单独的项目(Create Project – Java – Java Class Library)。
  2. 把你的.java类放在那里。
  3. build立这个项目。
  4. 转到您的项目文件夹,并find构build和dist文件夹。
  5. 在dist文件夹中find.jar文件。
  6. 获取你的其他项目,并将这个.jar文件添加到项目库。
  7. 您现在可以直接从代码中引用此库及其方法中的类,如果自动为您执行导入。

通常你会想要指定一个清单,如下所示:

 jar -cvfm myJar.jar myManifest.txt myApp.class 

其中的内容如下:“创build详细的jarFilename manifestFilename”,然后是要包含的文件。 详细的意思是打印关于它在做什么的消息。

请注意,您提供的清单文件的名称可以是任何内容,因为jar会自动将其重命名并将其放入jar文件的正确目录中。