org / codehaus / plexus / archiver / jar / JarArchiver(不支持的major.minor版本49.0) - Maven构建错误

时间:2011-09-23 14:07:57

标签: java maven

下午所有,

我在尝试构建项目时收到上述错误。我很确定这与使用Java 1.6编译的Maven最新更新有关,我们正在尝试构建的项目是1.4项目。之前的插件没有问题,所以我在POM.xml文件中添加了以下内容,试图强制使用现有的插件。

    <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-archiver</artifactId>
        <version>1.2</version>
    </dependency>

但它仍然失败。

非常感谢任何帮助

由于

6 个答案:

答案 0 :(得分:9)

尝试为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>

答案 1 :(得分:3)

您遇到的错误意味着在尝试使用较旧的Java版本加载时,org/codehaus/plexus/archiver/jar/JarArchiver是针对Java 1.5编译的。

Java 1.4下的plexus-archiver works的1.2版本。但是2.0 requires Java 1.5。你确定你使用的是1.2吗?

如果这是一个插件,则应在<plugins>

下定义

答案 2 :(得分:1)

来自m2e-mailing列表的Fred表示,m2eclipse-mavenarchiver 0.17.0修复了这个问题。您可以从http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.0/N/LATEST/

安装它

只需将repo添加为更新站点,然后升级mavenarchiver组件。

答案 3 :(得分:0)

我收到此错误,直到我将maven-source-plugin版本更改为2.2.1。我收到了2.1.1的错误。

答案 4 :(得分:0)

pom.xml中包含插件的“旧”版本正在解决部分问题。你还需要确保使用正确的jvm来匹配。

对于我正在处理的当前项目,我必须使用maven 2.0.8将JAVA_HOME设置为java 1.4。 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

答案 5 :(得分:0)

使用:

   <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>