gpt4 book ai didi

java - Java 8 的 Maven 错误

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:42 25 4
gpt4 key购买 nike

Maven 和 Java 8 (jdk1.8.0_45) 出现错误。 Java 7 不会出现此问题。

MCVE

创建示例 Maven 项目。例如:

mvn archetype:create -DgroupId=testinovke -DartifactId=testinvoke

在生成的App.java文件中创建如下内容

package testinovke;

import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;

public class App {

public static MethodHandles.Lookup lookup;

public static class Check {
public void primitive(final int i){
}
public void wrapper(final Integer i){
}
}


public static void main(String[] args) throws Throwable {
Check check = new Check();

MethodType type = MethodType.methodType(void.class, int.class);

MethodHandle mh = lookup.findVirtual(Check.class, "primitive", type);
mh.invoke();
}
}

编译maven项目:

mvn clean compile

输出

得到如下错误:

testinvoke/src/main/java/testinovke/App.java:[25,18] method invoked with incorrect number of arguments; expected 0, found 1

在 Maven 3.0.4 和 3.3.3 上都试过了。如果我直接使用 Javac 命令针对 App.java 进行编译,则不存在此问题。

最佳答案

为编译器添加插件配置:

        <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>

关于java - Java 8 的 Maven 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30917159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com