用jars编译java

时间:2013-03-25 21:03:04

标签: java compilation

我正在试图弄清楚现有的Java程序(我没有使用自己的程序)是如何用现有的jar编译的

我有Test.java(原始源文件):

package Demo;
//import classes from jars here etc...
public class Test {
 public static void main(String args[]) {
  etc...
 }
}

现在我还有另外两个罐子:

file1.jar
file2.jar
Demo.jar

有一个批处理脚本可以运行它:

@echo off
set CLASSPATH="file1.jar";"file2.jar";"Demo.jar"
java -cp %CLASSPATH% Demo.Test

这个工作,但现在我需要更改源文件Test.java,重新编译并运行jars类依赖项。 (对不起,如果我没有意义)


现在,我试图重新编译它以重现相同的结果而没有运气:

javac -cp file1.jar;file2.jar;Demo.jar Test.java

定义清单:

manifest.mf
Main-class: Demo.Test

为类文件创建目录“store”并在那里移动类文件

冉:

jar -cmf manifest.mf Demo.jar store

创建了“Demo.jar”

然后我运行上面的批处理脚本但不是相同的结果(根本不起作用)

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

一旦依赖外部罐子,就很难创建真正的可执行jar。

这里唯一的解决方案是:

清单必须如下:

manifest.mf
Main-class: Demo.Test
Class-Path: file1.jar file2.jar