假设您具有以下目录结构:
MyJavaProject |-src |- com |- example |- Main.java
要在cmd行中编译此类项目(无外部依赖项),您需要调用命令
$ cd MyJavaProject$ mkdir bin //to separate *.class file from source files$ javac -d bin srccomexampleMain.java
这将
Main.class在
bin目录中创建文件。要将其打包为* .jar文件,您可以:1)使用二进制文件创建jar,并在cmd中指定Main
class 2)创建Manifes并将其嵌入到jar中(我将重点介绍这一点)
您应该在其
meta-INF下
src并在其中创建
MANIFEST.mf文件的目录中创建目录
您的清单应如下所示:
Manifest-Version: 1.0Created-By: <Your info>Main-Class: com.example.Main
请记住在清单末尾添加空行!!
在这种情况下,您可以指定
Manifest-Version属性,
Created-By属性以及要在
Main-Class属性中运行的主类的完全限定名称
要使用此清单文件和二进制文件创建Jar,请调用命令
$ cd bin$ jar cfm MyJavaProject.jar ..srcmeta-INFMANIFEST.MF .
这将创建新的jar
MyJavaProject.jar并使用您的清单
如果您的项目依赖于外部类或jar,则在编译时将它们添加到类路径中(
-cp可选),并在其中添加另一行
Manifest
ClassPath: path/to/dependent/jars/jar.jar
重新编译它并创建新的jar并享受您的Java任务:)
有关清单的更多信息,请参见:docs
PS:使用罐子,从cmd行进行放大似乎很丑陋,但是它可以教您一些类似ava的概念。如果要跳过它,请考虑使用Apache
Maven或Apache Ant
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)