Как конвертировать JAR FILE в файл COD с помощью Ant Build - PullRequest
1 голос
/ 09 марта 2011

У меня есть файл JAR, я хочу знать, как преобразовать файл JAR в файл COD.

<target name = "build-MyLib" depends="clean">
    <rapc destdir="release\5.0" output="Lib">
        <src>
            <fileset dir=".">
                <include name="lib/Lib.jar" />
            </fileset>
        </src>
    </rapc>
</target>

Ошибка, которую я получил, была

[rapc] java.util.zip.ZipException: duplicate entry: Lib-1.cod
 [rapc]     at java.util.zip.ZipOutputStream.putNextEntry(Unknown Source)
 [rapc]     at java.util.jar.JarOutputStream.putNextEntry(Unknown Source)
 [rapc]     at sun.tools.jar.Main.addFile(Unknown Source)
 [rapc]     at sun.tools.jar.Main.create(Unknown Source)
 [rapc]     at sun.tools.jar.Main.run(Unknown Source)
 [rapc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [rapc]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 [rapc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 [rapc]     at java.lang.reflect.Method.invoke(Unknown Source)
 [rapc]     at net.rim.tools.compiler.c.e.if(Unknown Source)
 [rapc]     at net.rim.tools.compiler.c.e.a(Unknown Source)
 [rapc]     at net.rim.tools.compiler.Compiler.a(Unknown Source)
 [rapc]     at net.rim.tools.compiler.Compiler.a(Unknown Source)
 [rapc]     at net.rim.tools.compiler.Compiler.compile(Unknown Source)
 [rapc]     at net.rim.tools.compiler.Compiler.main(Unknown Source)
 [rapc] I/O Error: jar command failed: jar -cfm E:\RakeshBBWorkspace\Helios3.6WorkSpace\Code\release\5.0\Lib.jar C:\DOCUME~1\rakesh\LOCALS ...

СТРОИТЬ НЕУДАЧИ E: \ RakeshBBWorkspace \ Helios3.6WorkSpace \ Code \ build.xml: 15: Java вернула: -1

Я пытался использовать это, он показывает ошибку ввода / вывода. Как это можно сделать?

Привет

Ракеш Шанкар.П

1 Ответ

0 голосов
/ 29 мая 2012

У меня тоже была эта проблема, и выложили вопрос на ту же тему. После некоторых ответов и дальнейших исследований я выяснил ответ.

По сути, вам нужно создать исходный файл JAR, используя обычные инструменты Java, а не rapc. Используйте только rapc для последнего шага. Таким образом, ваш JAR-файл не будет содержать промежуточных файлов COD.

Мой полный ответ здесь: BlackBerry: создать COD из исходного файла JAR в скрипте Ant

Я также включил резюме ниже - но есть более подробная информация в ссылке.


Используйте только rapc для последнего шага - преобразования этого файла JAR в COD.

Полная структура сборки ANT для решения этой проблемы слишком велика для размещения здесь, но шаги, необходимые для ее создания, перечислены ниже. Каждый из шагов может быть легко исследован на этом сайте (или с некоторым Google). Каждый шаг очень прост и может быть отлажен индивидуально.

Steps

  1. javac SDK для создания файлов CLASS
  2. preverify файлы CLASS
  3. jar SDK
  4. Скопируйте файл JAR SDK в проект
  5. javac проекта - используйте JAR SDK в качестве пути к классам
  6. preverify файлы проекта CLASS (снова используйте JAR SDK в classpath )
  7. jar проекта - добавьте JAR SDK в виде zipfileset
  8. jarjar этот проект JAR для рефакторинга имен пакетов по мере необходимости
  9. Наконец, запустите rapc на этом JAR - он не найдет дубликаты COD-файлов и должен нормально работать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...