Java 制作具有源代码和项目结构的.jar文件?

Java 制作具有源代码和项目结构的.jar文件?,java,ant,jar,Java,Ant,Jar,我想知道这是否可以通过ant和java实现: 我有一个Java项目,如下所示: ./ build.xml src/ com/ example/ {.java files here} bin/ com/ example/ {compiled .class files here} lib/ {3rd-party jar files here} dist/ {jar file(s) here

我想知道这是否可以通过
ant
java
实现:

我有一个Java项目,如下所示:

./
  build.xml
  src/
    com/
      example/
        {.java files here} 
  bin/
    com/
      example/
        {compiled .class files here} 
  lib/
    {3rd-party jar files here}
  dist/
    {jar file(s) here}
我知道如何创建一个.jar文件,该文件包含
bin/
目录中的内容,并具有使其运行我的主Java类的正确清单

如果可能的话,我想做的是制作一个.jar文件:

  • Java可以执行(“Java-jarmyproject.jar”)
  • 其他人可以解压以创建项目结构。(包括除“dist/”目录外的所有子目录)
  • 这可能吗?我似乎无法告诉Java使用.jar文件的bin/子目录作为类路径,我可能不知怎么搞砸了语法


    编辑:好的,听起来好像是试图让一个对象服务于两个(太多)目的。我放弃了这种方法,而是创建了一个标准的.jar文件作为可执行文件,以及一个带有源代码的.zip文件(build.xml+src和lib目录)。这样就有2个简单的下载,超过1个文件,但不是太糟糕。

    不,
    UrlClassLoader
    总是尝试查找根目录中的类,而jar URL总是获取基于jar文件根目录的条目


    您可以创建一个jar文件,该文件包含根目录下的二进制文件,但源文件位于src等目录下。如果您真的将
    com
    作为唯一的“根”包,那就不太糟糕了。

    您可以将项目放在公共SVN服务器上,并且只包括如何签出源代码的说明-您还可以从其他人的签入和改进中获益(希望不是故意破坏)。

    为什么要将源文件放入jar中?如果你想分发一个可执行的jar,就不需要它们了。不管怎样,我正在这样做,我只是想让它更方便用户。