为什么控制台一直说"uber-jar-6.5.5 seems corrupted"



我正在使用这个命令(mvn clean install -PautoInstall)从IntelliJ安装我的项目到aem,我一直有这个错误

JAR/ZIP文件(C:Users....m2repositorycomadobeaemuber-jar6.5.5uber-jar-6.5.5.jar)似乎已损坏,错误:打开ZIP文件时出错

我已经尝试删除并下载了这个jar包,但是没有效果。

这是我的Core Pom.xml

4.0.0com.startsitestartsite1.0快照. ./pom.xml

<artifactId>startsite.core</artifactId>
<packaging>bundle</packaging>
<name>Start Site - Core</name>
<description>Core bundle for Start Site</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>maven-sling-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<instructions>
<!-- Import any version of javax.inject, to allow running on multiple versions of AEM -->
<Import-Package>javax.inject;version=0.0.0,*</Import-Package>
<Sling-Model-Packages>
com.startsite.core
</Sling-Model-Packages>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- OSGi Dependencies -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.cmpn</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
</dependency>
<!-- Other Dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>uber-jar</artifactId>
<classifier>apis</classifier>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.models.api</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<dependency>
<groupId>junit-addons</groupId>
<artifactId>junit-addons</artifactId>
</dependency>
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>uber-jar</artifactId>
<version>6.5.5</version>
</dependency>
<dependency>
<groupId>com.day.commons</groupId>
<artifactId>day.commons.datasource.poolservice</artifactId>
<version>1.0.10</version>
</dependency>
</dependencies>

尝试删除本地~/.m2存储库并重试。

为什么控制台一直显示";uber-jar-6.5.5似乎已损坏";

它会说因为文件损坏了…或者根本不是JAR文件。

看一下(假定的)JAR文件中的实际内容:

  • 使用jar -tvf <pathname>列出索引。这会告诉你文件是否损坏,等等。

  • 在linux上,使用file <pathname>来尝试确定它真正是什么文件类型。

  • 如果是文本,请使用文本编辑器查看。

(我的猜测是文件没有正确下载。我的第二个猜测是,您实际拥有的是一个HTML文档,其中包含来自失败下载的错误消息。如果是这种情况,在错误消息中应该有一些提示,说明下载失败的原因。

看看这张卡片。我看到uber-jar声明了两次,删除第一个,只保留上面有版本的那个。同时,这个超级jar应该有如下的作用域:

<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>uber-jar</artifactId>
<version>6.5.8</version>
<scope>provided</scope>
</dependency>

然后,从你的m2文件夹中删除uber-jar并执行mvn -U clean install -PautoInstall

我找到了一个解决这个问题的替代方案。我使用了Eclipse neon而不是通常的Eclipse和intelliglij。新创建的项目现在可以工作了,除了我之前在Intellij和eclipse上编译的那个。

相关内容

  • 没有找到相关文章

最新更新