如何在NetBeans IDE 14中选择Java配置文件(例如,压缩1,压缩2,完整JRE)?

5anewei6  于 2022-11-10  发布在  Java
关注(0)|答案(1)|浏览(224)

简短版本

在NetBeans中的项目属性源二进制格式下,应该有一个用于选择Java配置文件的选项:

但对我来说,它是缺失的:

在干什么?

长版本

Java具有运行四种模式的选项:

  • 紧凑型1
  • 紧凑型2
  • 紧凑型3
  • 完整JRE

默认的版本一直都是 “Full JRE” --没有其他版本。但是他们希望定义更紧凑的运行时版本。如果您希望使用更精简的Java Runtime版本,它可以给予您使用更快的应用程序启动速度,并且使用更少的磁盘和内存。
它只是以能够使用较少JRE为代价:
| 完整JRE|紧凑型1|紧凑型2|紧凑型3|完整JRE|
| - -|- -|- -|- -|- -|
| java.lang |✔️ |✔️ |✔️ |✔️|
| java.io | ✔️ |✔️ |✔️ |✔️|
| java.nio |✔️ |✔️ |✔️ |✔️|
| java.text |✔️ |✔️ |✔️ |✔️|
| java.math |✔️ |✔️ |✔️ |✔️|
| java.net | ✔️ |✔️ |✔️ |✔️|
| javax.net | ✔️ |✔️ |✔️ |✔️|
| java.util |✔️ |✔️ |✔️ |✔️|
| java.util.logging |✔️ |✔️ |✔️ |✔️|
| java.security | ✔️ |✔️ |✔️ |✔️|
| javax.crypto |✔️ |✔️ |✔️ |✔️|
| javax.security | ✔️ |✔️ |✔️ |✔️|
| java.sql | |✔️ |✔️|✔️|
| javax.sql | |✔️ |✔️|✔️|
| javax.xml | |✔️ |✔️|✔️|
| org.w3c.dom | |✔️ |✔️|✔️|
| org.xml.sax | |✔️ |✔️|✔️|
| java.rmi | |✔️ |✔️|✔️|
| javax.rmi | |✔️ |✔️|✔️|
| javax.transaction | |✔️ |✔️|✔️|
| java.lang.management | | | ✔️ | ✔️ |
| javax.management | | | ✔️ | ✔️ |
| javax.naming | | |✔️|✔️|
| javax.sql.rowset | | |✔️|✔️|
| javax.security.auth.kerberos | | |✔️|✔️|
| org.ietf.jgss | | |✔️|✔️|
| javax.script | | |✔️|✔️|
| javax.xml.crypto | | |✔️|✔️|
| java.util.prefs | | |✔️|✔️|
| javax.security.sasl | | |✔️|✔️|
| javax.security.acl | | |✔️|✔️|
| java.lang.instrument | | |✔️|✔️|
| javax.annotation.processing | | |✔️|✔️|
| javax.lang.model | | |✔️|✔️|
| javax.lang.model.element | | |✔️|✔️|
| javax.lang.model.type | | |✔️|✔️|
| javax.lang.model.util | | |✔️|✔️|
| javax.tools | | | ✔️ | ✔️ |
| 科尔巴||||✔️|
| 总重量||||✔️|
| 摇摆||||✔️|
NetBeans IDE提供了配置Java配置文件的选项。
他们的Overview of JDK 8 Support in NetBeans IDE页面对不同的配置文件有最好的解释,以及它们为什么存在。但它也记录了如何在IDE中配置它。
但对我来说,它就是不存在。
也许在web.xml或其他项目或配置文件中必须启用一些模糊的选项。

额外阅读

64jmpszr

64jmpszr1#

我不确定这是否是一个完整的答案,但以下是我可以分享的:
1.我已经使用NetBeans v8.2和NetBeans v13对您所看到的内容进行了测试。
1.对于NetBeans v8.2平台(使用Java v8),当您使用File > New Project... > Java > Java Application创建新项目时,将创建一个基于Ant得项目.以这种方式创建项目时,将显示您所询问得“配置文件”下拉菜单.
1.如果您使用的是NetBeans v8.2,但选择使用File > New Project > Maven > Java Application创建基于Maven的项目,则不会看到“Profile”菜单。
因此,唯一的区别在于您选择的是基于Ant(默认)的项目还是基于Maven的项目。
1.在某个时候(我忘了是哪个NetBeans版本),他们更改了项目创建菜单选项。对于NetBeans的最新版本(至少从v12开始),您必须显式选择Ant或Maven(或Gradle)作为您希望创建的Java项目的类型。
1.因此,以NetBeans v13为例,如果您选择File > New Project > Java with Ant > Java Application,则会看到“Profile**”菜单,而您使用的Java版本似乎并不重要。
下面是NetBeans v13中的一个示例,其中包含一个基于Ant的项目,以及Java 17:

这是您的“配置文件”下拉菜单。
如果您选择基于Maven的项目,则不会看到此“配置文件”项。

因此,底线是:这取决于您是选择创建基于Ant的项目还是基于Maven(或Gradle)的项目。

一个明显的后续问题是“* 为什么?*”
我不知道(因此我回答第一句话)。
我怀疑这是NetBeans的一个遗留属性,它带有基于Ant的项目。
Compact1、Compact2、Compact3和Full JRE之间的区别可能在Java的后续版本中变得越来越无关紧要了。

  • Java(大部分)不再提供单独的JDK和JRE版本。请参阅When was JRE discontinued as a separate offering?一些产品仍然提供单独的JDK和JRE,但其他产品不再提供。这可能与您的问题没有直接关系,但我想提到它。
  • 许多javax包到jakarta的转换削弱了NetBeans中这些Java“配置文件”之间的差异。请参见Transition from Java EE to Jakarta EE
  • Java 9中引入了Java模块,可以更精细地控制应用程序中要包含的包。请参阅Java Modules和许多其他教程和指南。

最后一点:就个人而言(基于样本大小为1的轶事证据),我从来不需要担心Java核心库的大小。

相关问题