Mam projekt zbudowany w Zaćmienie z zależnościami na słoikach 3rd party. Próbuję wygenerować odpowiedni plik kompilacji dla funkcji ant - using eclipses, wbudowanej funkcji export-> ant buildfile jako bloku początkowego.Słoik słownika klas kompilacji Ant generuje "błąd podczas otwierania pliku zip"
Kiedy biegnę cel kompilacji pojawia się następujący błąd:
[javac] error: error reading /base/repo/FabTrace/lib/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.jar; error in opening zip file
i cały plik build (auto-generowany przez Eclipse) wygląda następująco: (uwaga: błąd powyżej zawsze odwołuje się pierwsza słoik wymienione w ścieżce klasy)
<project basedir="." default="build" name="FabTrace">
<property environment="env"/>
<property name="ECLIPSE_HOME" value="/opt/apps/eclipse"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.5"/>
<property name="source" value="1.5"/>
<path id="JUnit 4.libraryclasspath">
<pathelement location="${ECLIPSE_HOME}/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar"/>
</path>
<path id="FabTrace.classpath">
<pathelement location="bin"/>
<pathelement location="lib/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.jar"/>
<pathelement location="lib/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-jms_1.1_spec-1.0.jar"/>
<pathelement location="lib/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"/>
<pathelement location="lib/commons-io/commons-io/1.4/commons-io-1.4.jar"/>
<pathelement location="lib/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/>
<pathelement location="lib/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
<pathelement location="lib/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar"/>
<pathelement location="lib/javax/activation/activation/1.1/activation-1.1.jar"/>
<pathelement location="lib/javax/jms/jms/1.1/jms-1.1.jar"/>
<pathelement location="lib/javax/mail/mail/1.4/mail-1.4.jar"/>
<pathelement location="lib/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
<pathelement location="lib/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
<pathelement location="lib/junit/junit/4.4/junit-4.4.jar"/>
<pathelement location="lib/log4j/log4j/1.2.15/log4j-1.2.15.jar"/>
<pathelement location="lib/apache/camel/camel-jms-2.0-M1.jar"/>
<pathelement location="lib/spring/spring-2.5.6.jar"/>
<pathelement location="lib/apache/camel/camel-bundle-2.0-M1.jar"/>
<pathelement location="lib/backport-util-concurrent/backport-util-concurrent-3.1.jar"/>
<pathelement location="lib/commons-pool/commons-pool-1.4.jar"/>
<pathelement location="lib/apache/camel/camel-activemq-1.1.0.jar"/>
<pathelement location="lib/apache/activemq/activemq-camel-5.2.0.jar"/>
<pathelement location="lib/jencks/jencks-2.2-all.jar"/>
<pathelement location="lib/jencks/jencks-amqpool-2.2.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/activemq-all-5.3.1.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/optional/xbean-spring-3.6.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/activemq-core-5.3.1.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/camel-jetty-2.2.0.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/web/jetty-6.1.9.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/web/jetty-util-6.1.9.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/web/jetty-xbean-6.1.9.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/optional/activemq-optional-5.3.1.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/web/geronimo-servlet_2.5_spec-1.2.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/optional/spring-beans-2.5.6.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/optional/spring-context-2.5.6.jar"/>
<pathelement location="lib/activemq/apache-activemq-5.3.1/lib/optional/spring-core-2.5.6.jar"/>
<path refid="JUnit 4.libraryclasspath"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src/main/java">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src/test/java">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy includeemptydirs="false" todir="bin">
<fileset dir="config">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target depends="clean" name="cleanall"/>
<target depends="build-subprojects,build-project" name="build"/>
<target name="build-subprojects"/>
<target depends="init" name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
<src path="src/main/java"/>
<classpath refid="FabTrace.classpath"/>
</javac>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
<src path="src/test/java"/>
<classpath refid="FabTrace.classpath"/>
</javac>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
<src path="config"/>
<classpath refid="FabTrace.classpath"/>
</javac>
</target>
</project>
(wiem, że to zaćmienie konkretne rzeczy tutaj. Ale mam takie same wyniki z lub bez niej).
Zrobiłem stare wyszukiwania google i trałowałem bez powodzenia.
Mogę potwierdzić, że wszystkie słoiki naprawdę istnieją. Próbowałem także z linii poleceń i jako sudo - znowu te same wyniki.
Każda pomoc zostanie bardzo doceniona.
Cheers
Czy plik JAR jest prawidłowy? Czy możesz otworzyć go w programie WinZip lub innym narzędziu do kompresji? – VonC
Westchnienie. Pomyślałem, że ponieważ usunąłem pierwsze słoiki, które pierwotnie spowodowały ten problem (nie byłem nawet przekonany, że naprawdę ich potrzebuję) i problem właśnie przeniósł się do następnego słoika ... cóż, to sprawiło, że podejrzewałem o usterce systemowej. Okazało się, że w rzeczywistości posiadam mnóstwo słoików na śmiecie w ścieżce klas. W pewnym momencie musiałeś spieprzyć pobieranie lub coś podobnego. W każdym razie, wszystkie teraz ustalone. Pozdrawiam –
Dlaczego nie przenieść komentarza do odpowiedzi, a następnie zaakceptować? Może to być przydatne pytanie dla kogoś, ale w tej chwili pokazuje się jako "bez odpowiedzi". –