Как объединить несколько банок в один?

Я прочитал так много статей / объяснений по этому поводу и провел слишком много часов, но все это слишком широко или конкретно.

Этот вопрос действительно относится только к Апплету, который я сделал. Он содержит один класс и требует 2 другие библиотеки Jar. Я включил их в проекты (несколько проектов, потому что я пробовал это в Netbeans и Eclipse ... легко создать проект одного класса). Суть всего этого в том, что мой HTML / веб-проект не должен иметь дело с более чем одним Jar или ссылаться на них. Это не сложный апплет / проект вообще.

Первоначально я сделал это в Netbeans. У него есть основной пакет, и после добавления двух файлов Jar они помещаются в область «Библиотеки» (папка «ресурсы»). После его создания Netbeans создает Jar для одного моего пакета / класса, а затем помещает 2 другие библиотеки в каталог «lib» рядом с ним. Я бы хотел, чтобы они были в одной распространяемой банке. Из многих вещей, которые я просмотрел, я попытался поместить в build.xml следующее:

<target name="YourBigJar" depends="-post-jar">
  <jar destfile="dist/BigJar.jar">
    <zipfileset src="dist/cxapplet.jar"/>
    <zipfileset src="resources/dpotapi.jar"/>
    <zipfileset src="resources/dpotjni.jar"/>
  </jar>
</target>

Но это ничего не дает. Я получил это отNetBeans - развертывание всего в одной банке , Я не знаю / не понимаю, как использовать build.xml, поэтому я не удивлюсь, если что-то пойдет не так (очевидно), но я не получаю сообщений об ошибках / предупреждений.

Когда я сделал это в Eclipse, он эффективно объединяет их, но когда я использую Jar в моем реальном веб-проекте, он говорит, что не может найти классы из двух других Jar. Я не понимаю, как это исправить, но это проблема Classpath? В Eclipse я создаю новый каталог с именем "lib" и помещаю в него Jar-файлы. Затем я щелкаю правой кнопкой мыши по проекту, захожу в «Путь сборки Java» и добавляю банки, также проверяя их на вкладке «Заказ и экспорт». Из того, что я прочитал, я щелкаю правой кнопкой мыши по проекту, выбираю «Экспорт», выбираю «Jar», снимаю флажок с «.classpath» и «.project», проверяю только «Экспортировать сгенерированные файлы классов и ресурсы», а затем Позвольте ему создать файл манифеста. Как я уже сказал, это генерирует один Jar, но его содержимое - это мой пакет, а затем каталог "lib", в котором есть 2 других Jar. Манифест есть, но он довольно пустой и не ссылается ни на какие файлы (не уверен, что это важно). Когда я помещаю его в свое веб-приложение, он говорит, что апплет не может найти другие классы.

Это кажется таким простым: один пакет / класс, два внешних Jar-файла ... объединяются в один Jar-файл при сборке для распространения в виде апплета. Есть идеи?

ОБНОВИТЬ:

Так как мы начали использовать Maven, кто-то изучил использование плагина Maven. Итак, мы закончили тем, что создали новый проект для размещения апплета (так как он используется в нескольких проектах), и использовали это в нашемpom.xml, в конце:

<build>
  <resources>
    <resource>
      <directory>${basedir}/applet</directory>
      <excludes>
        <exclude>codesignstore</exclude>
      </excludes>
    </resource>
    <resource>
      <directory>${basedir}/src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.2-beta-5</version>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <finalName>cxapplet</finalName>
        <archive>
          <index>true</index>
          <manifest>
            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
          </manifest>
        </archive>
        <appendAssemblyId>false</appendAssemblyId>
      </configuration>
      <executions>
        <execution>
          <id>make-my-applet-jar</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jarsigner-plugin</artifactId>
      <version>1.2</version>
      <executions>
        <execution>
          <id>sign</id>
          <goals>
            <goal>sign</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <keystore>${basedir}/applet/codesignstore</keystore>
        <alias>codesigncert</alias>
        <storepass>HIDDEN</storepass>
        <keypass>HIDDEN</keypass>
      </configuration>
    </plugin>
  </plugins>
</build>

И это было приятно, потому что это позволило нам использовать наш сертификат подписи кода, чтобы автоматически подписать его.

Ответы на вопрос(2)

Ваш ответ на вопрос