Java:如何从包中编译可运行的jar?

Joh*_*ohn 1 java packages makefile javac executable-jar

我的Java应用程序有一个类似于这样的包结构:

src/com/name/app 
src/com/name/app/do 
src/com/name/utils/db
Run Code Online (Sandbox Code Playgroud)

我如何将这些目录中的Java文件编译到可运行的jar中?我需要将所需的库打包到生成的JAR(jdbc)中.

我总是在Eclipse中完成这些工作,但现在我需要为几个人提供一种编译存储库而不使用eclipse的方法,我正在考虑制作一个makefile或一个调用必要的javac模式的脚本.

Rob*_*ser 5

看看Ant吧.这是一个相对简单的构建工具,可以理解并提供满足您要求的所有内容.这是一个快速的框架build.xml,可以帮助您入门:

<project name="my_app_name" default="jar">

  <target name="compile">
     <javac srcdir="src" destdir="bin">
        <classpath>
           <fileset dir="lib">
              <include name="**/*.jar" />
           </fileset>
        </classpath>
     </javac>
  </target>

  <target name="jar">
     <jar manifest="manifest_file" destfile="dist/my_app_name.jar">
        <fileset dir="bin" />
        <fileset dir="lib" />
     </jar>
  </target>
Run Code Online (Sandbox Code Playgroud)

您需要创建一个清单文件,告诉java进程哪个类包含"main"方法.是一个开始学习清单的好地方.

作为产生非常混乱的Ant构建文件的替代方案,您可以右键单击Eclipse项目并选择"Export ...",然后选择"General> Ant Buildfiles".

无论如何,这应该让你开始.在遇到这些问题时,您可以提出更具体的问题.