我已经搜索了所有关于为什么我们应该有不同于目标的来源,但不一致的答案:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.7</source>
<target>1.8</target>
</configuration>
</plugin>
如果JDK向下兼容,为什么在1.7上编译时需要将目标设置为1.8?
将源设置为高于目标将不起作用,例如错误:
源版本8需要目标版本1.8
同样来自Maven:
仅仅设置target选项并不能保证代码在具有指定版本的JRE上实际运行。陷阱在于无意中使用了只存在于后来的JRE中的API,这会导致代码在运行时出现链接错误
有人能举个例子吗?maven源和目标是针对我自己的源代码而不是依赖关系,那么在什么情况下我可以在以后的JRE(在我自己的代码中)中使用API编译成功?
通常,人们会将目标JVM设置为与源JVM匹配,否则。如果未设置目标JVM,Java编译器的版本会将其设置为该JVM版本,例如,如果使用Java 10构建,则目标类文件将仅在Java 10下运行,除非您将目标JVM指定为更低的版本。
我猜如果您的企业针对的目标JVM(例如Java 8 b/c或出于安全和/或性能原因)高于您希望源Java兼容的JVM(例如Java 7),那么您会将目标版本设置为高于源JVM。也许您可以将这个代码库“共享”给其他可能仍然以Java 7 JVM为目标的人。
我在maven-compiler-plugin的pom.xml中有以下配置。 JDK的源版本和目标版本应该是什么?它如何依赖于安装在我的计算机上的jdk版本?他们可能不一样吗?例如,安装的jdk是1.8,在源参数-1.6,目标-1.7中。
我需要使用maven插件为GWT编译器设置输出目录位置。 我调查了GWT编译器和gwt-maven-plugin文档,没有找到任何选项。 例如: 我有两个模块,分别名为编辑器和控制台,gwt maven插件将它们编译为根目录编辑器和控制台目录。 但我需要将这些模块编译到
这个问题,只是为了确保我的解释是正确的: 我正在使用Mojohaus jaxb2 maven插件从中生成java类。xsd文件,默认情况下,它会将它们放在目标/生成的源中 现在,我想在源代码管理中跟踪这些类(当然不包括target),有一天我可能会用注释或一行代码稍微定制一个类,甚至可能会更改我的类生成插件,所以我要做的是在src/main/java中复制这些类和包 当我尝试编译时,这让Maven
我看到了很多基于maven pom.xml构建文件的spring项目。还有一件奇怪的事情:在没有公共静态void main()方法的情况下构建项目。例如:https://github.com/geowarin/spring-mvc-security。在Spring.io的常用示例中,有一些类带有@SpringBootApplication注释和SpringApplication.Run(appli
Groovy中的简单泛型类 Groovy版本: 这是我做的一个简单的测试用例,当一个更复杂的类不能编译时,错误是“不能将类型T的值赋给类型double[]的变量”。
我有一个maven项目,它是从git回购复制到我的eclipse上的。它是基于Java8构建的。我要做的第一件事就是做一个 但我收到以下失败信息: 以及汇编设置: 无论我构建项目多少次,我都会得到相同的错误。即使在清理项目并从eclipse中刷新它之后也没有帮助。请导游。 更新: 在添加属性以设置maven编译器插件之后 , 我得到以下错误: 下面是给出MainUITabbed类编译错误的代码片段