Java 创建可执行jar的正确方法

Java 创建可执行jar的正确方法,java,jar,Java,Jar,我有以下目录结构 src| |pack| |Test.java data| |data.txt classes| |pack| |Test.class manifest.txt 它编译并运行良好 \project>javac -d classes src\pack\Test.java \project>java -cp classes pack.Test Test.java的内容 package pack; i

我有以下目录结构

src|
   |pack|
        |Test.java
data|
    |data.txt

classes|
       |pack|
            |Test.class
manifest.txt
它编译并运行良好

\project>javac -d classes src\pack\Test.java
\project>java -cp classes pack.Test
Test.java的内容

package pack;
import java.io.*;

class Test {
    public static void main(String[] args) {
        String line = null;
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader("data\\data.txt"));
            while((line=br.readLine())!=null) {
                System.out.println(line);
            }
            br.close();
        }catch(IOException e){System.out.println("FileNotFound");}
    }
}
manifest.txt的内容

Main-Class: pack.Test

如何创建jar文件?我应该从哪里执行它呢?

如果你想手动创建一个jar,那么看看jar命令。在你的例子中,类似这样的情况:

jar -cvfm name.jar manifest.txt -C classes .
但是,请注意清单文件的名称应为manifest.MF


另外,我建议您开始学习一种构建工具,比如ant、maven或gradle,这样您就可以自动完成这项工作。

您应该学习使用maven,以及它的汇编插件。是的。我听说了。但我该怎么走这条简单的路呢?日食?它类似于将它们打包到一个jarI中,并将manifest.txt重命名为manifest.mf。然后
jar-cvfmtest.jar manifest.mf-C类。数据
成功了。标准名称是MANIFEST.MF(大写)。不确定其他名字,可能有用。