大家下午好,
我在尝试构建我的项目时收到上述错误。我很确定这与使用 Java 1.6 编译的 Maven 最新更新有关,而我们尝试构建的项目是 1.4 项目。在此之前的插件工作没有问题,因此我将以下内容添加到 POM.xml 文件中以尝试强制使用现有插件。
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>1.2</version>
</dependency>
但它仍然失败。
任何帮助将不胜感激
谢谢
尝试为maven添加以下插件。它对我有用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
您遇到的错误意味着
org/codehaus/plexus/archiver/jar/JarArchiver
是针对 Java 1.5 编译的,而您尝试使用较旧的 Java 版本加载。
plexus-archiver
works 在 Java 1.4 下的 1.2 版本。然而 2.0 需要 Java 1.5。你确定你用的是1.2吗?
如果这是一个插件,则应在
<plugins>
下定义。
用途:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
我收到此错误,直到我将 maven-source-plugin 版本更改为 2.2.1。我在 2.1.1 中遇到错误。
在
pom.xml
中包含插件的“旧”版本可以解决部分问题。您还需要确保使用正确的 jvm 来匹配。
对于我正在处理的当前项目,我必须将
JAVA_HOME
设置为 java 1.4 和 maven 2.0.8。 maven 的问题是它会在本地和远程存储库中查找更新(如果 maven 中设置了远程存储库settings.xml
),而不是尝试使用 2.5 版本作为“clean”和“install”插件,例如导致Major.minor 49.0 错误(清理和安装插件版本 2.5 是用 java 1.5 或更高版本编译的,而我尝试在 java 1.4 环境中执行它们)。
在项目的
pom.xml
中添加插件片段,强制它使用版本2.2与我的路径上的旧java版本相结合:
(
set path=c:\youroldjavadirectory\bin;c:\youroldmavendirectory\bin
)一切都开始工作了。
运行maven命令之前检查java版本:
java -version
mvn -v
根据 m2e 邮件列表中的 Fred 的说法,这个问题已通过 m2eclipse-mavenarchiver 0.17.0 修复。 您可以从 http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.0/N/LATEST/
安装它只需将存储库添加为更新站点,然后升级 mavenarchiver 组件即可。
这个错误是由于maven失败造成的。更新项目pom.xml中的程序集插件。
<!-- Create executable jar along with dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifestFile>${project.basedir}/src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>