我已经看到了JDK发行版可以运行`javac-source1.6-target1.5`的编译选项。我理解来源和目标的单独选项。我不明白为什么源版本比目标版本高。为旧目标编译代码是有意义的。但是在这种情况下,为什么我们不使用我们希望能够运行的最古老目标的-source
请确保还设置bootclasspath以确保您的程序可以在较旧的VM上工作。
在javac
文档中:
C\:>javac -source 1.6 -target 1.6 -bootclasspath C:\jdk1.6.0\lib\rt.jar -extdirs "" OldCode.java
C:\>javac -source 1.6 OldCode.java
warning: [options] bootstrap class path not set in conjunction with -source 1.6
我有一个java项目的Apache ant构建文件,其中包含一个javac命令来编译我的源代码。这个项目有一些特殊的约束,它是由小的子项目组成的。这些子项目中的大多数具有以下文件夹结构: src和service都是源文件夹。A.java导入/service文件夹中的一些类,例如B.java。在eclipse中,一切正常,A.java导入B.java时没有任何错误或问题,所以我假设classpath
问题内容: 我正在尝试使用JNI和JDK9。我有一个看起来像这样的类: 我编译该类,然后使用生成头文件。 发出时,我得到以下警告: 我知道下一个主要的JDK版本还需要很长时间,但是我认为我现在将开始习惯这个新选项。 所以,在尝试(以及其它类似的变化,等等),我不断收到此错误: 我一直无法在线找到任何帮助,可能是因为此功能是相对较新的,并且在手册页中找不到关于此新选项的任何信息。 还有其他人尝试吗?
我最近下载了与NetBeans捆绑在一起的JDK1.8.0.006。然后我发现我一直在用Java1.7开发的JavaFx项目不会用Java1.8编译,所以我把JDK降到了1.7。但我还是无法让它运行/编译。我得到了这个错误: 我真的被困住了,非常感谢您的帮助。
我已经搜索了所有关于为什么我们应该有不同于目标的来源,但不一致的答案: 如果JDK向下兼容,为什么在1.7上编译时需要将目标设置为1.8? 将源设置为高于目标将不起作用,例如错误: 源版本8需要目标版本1.8 同样来自Maven: 仅仅设置target选项并不能保证代码在具有指定版本的JRE上实际运行。陷阱在于无意中使用了只存在于后来的JRE中的API,这会导致代码在运行时出现链接错误 有人能举个
更新:请参阅此处的分辨率。 谢谢大家的帮助! 我在尝试用Ant编译项目时遇到了一个错误,它声称“[javac]javac:invalid target release:7”,并导致构建失败。 我正在Mac OSX Mavericks机器上运行javac版本1.7.040。Ant版本:Apache Ant(TM)1.8.3版,2012年2月26日编译 只有在尝试使用Ant编译时,才会出现问题。在命令
我正在从ModelMapper到MapStruct的转换过程中,到目前为止一切都很顺利,除了在列表上排序和筛选的情况,如果我有一个从域对象到实体的映射,例如: 从一个api中,我想在contactAddressLine1上进行过滤或排序,然后我想查找源代码(或反向映射时的目标代码),以便将其添加到动态jpq或sql查询中。 有没有办法用MapSTRt做到这一点? 使用ModelMapper,我可以