Thanks Michael, Just to be clear, I can open my file type. I can't create a new one using the wizard. Here's what I've just done at your suggestion:
1. Create a new platform application (Java with Ant -> NetBeans Platform Application) 2. Create a new module "TestModule", code name base "testapp" (Generate OSGi Bundle is not checked) 3. Create foo file type (Module Development -> File Type, mime type application/foo, extension foo, Class Name Prefix Foo, "Use MultiView" checked by default.) 4. Add New Window (class name prefix Foo) 5. TestApp -> Properties -> Libraries -> ide cluster -> check "User Utilities", "Project API", "Project UI" (this requires "Resolve"ing dependencies" 6. "User Utilities" is for the File -> Open menu. The others are for the "File -> New" menu. 7. Run my stand-alone test app (more specifically, I use "Debug" out of habit) 8. File -> New 9. At this point, the only Category is "Other" and "File Type" is "Folder". My 'foo' type is not a choice. The File Template Tutorial does have additional steps; Namely, adding a couple of files and updating the package-info.java, so I do that just in case it's necessary: 1. New -> Other -> HTML-> Description.html 2. Copy my icon into the testapp package 3. Change package-info.java Was : @TemplateRegistration(folder = "Other", content = "FooTemplate.foo") package testapp; import org.netbeans.api.templates.TemplateRegistration; Now : @TemplateRegistration( folder = "Other", iconBase="testapp/knowledgebase.png", displayName = "#HTMLtemplate_displayName", content = "FooTemplate.foo", description = "Description.html") @Messages(value = "HTMLtemplate_displayName=Empty Foo file") package testapp; import org.netbeans.api.templates.TemplateRegistration; import org.openide.util.NbBundle.Messages; 1. Run 2. File -> New 3. At this point, the only Category is still "Other" and "File Type" is "Folder". My 'foo' type is not a choice. Note that the png requires the package name, or the IDE complains. The content and description do not (adding the package name makes the IDE complain). I realize that at this point I am not using a Project in my application. I will eventually, but I would first like to create an application that can use the File->New box to create and edit a file, then work with projects later. Thanks, Peter ________________________________ From: Michael Bien <mbie...@gmail.com> Sent: Saturday, January 22, 2022 7:11 PM To: dev@netbeans.apache.org <dev@netbeans.apache.org>; Peter Blemel <pble...@hotmail.com> Subject: Re: How to add 'File -> New' and 'File -> Open' to a NB 12.6 platform application? Hi Peter, could you try this again without following any tutorial? :) I just tested the following: - created new ant based standalone module just like you did - added a "foo" file type using the new -> File Type wizzard - added a window using the new -> Window wizzard - ran the project (on JDK 17 just like in your setup) and it worked .foo files were now recognized and i could open the (empty) window via window -> window_name (haven't typed a single line of code for that) your log complains about not being able to access some modules (java module system, not nb module system). This typically happens when the JMS module has not been added via --add-opens on JVM start. But this is not something you should have to do since its already in netbeans.conf of the platform. for example when i run the project i see something like this: Diagnostic information Input arguments: -Djdk.home=/home/mbien/dev/java/jdk-17.0.2.8.1-corretto -Dnetbeans.default_userdir_root=/home/mbien/.netbeans ... more flags --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED ... more add-opens I don't see this in your log. -michael On 22.01.22 23:51, Peter Blemel wrote: > Here's the full IDE log if anyone wants to comment on what these exceptions > mean. This platform application is literally a new project with the results > of the new file type tutorial and adding the User Utilities and Project API > dependencies (plus their dependencies). I'm assuming I've done something > wrong, and will go through the tutorials again to see which step introduces > the errors. > > platform.download: > ant -f /home/peter/NetBeansProjects/CBNXIDE-12 debug > branding: > files-init: > release: > build: > com.mgtsciences.cbnx.support.taskdefs: > com.mgtsciences.cbnx.support.common-init: > com.mgtsciences.cbnx.support.projectized-common.basic-init: > com.mgtsciences.cbnx.support.basic-init: > com.mgtsciences.cbnx.support.files-init: > com.mgtsciences.cbnx.support.nbm-license-init: > com.mgtsciences.cbnx.support.build-init: > Scanning for modules in /opt/netbeans-12.6/netbeans/ide > Scanning for modules in /opt/netbeans-12.6/netbeans/platform > Scanning for modules in suite /home/peter/NetBeansProjects/CBNXIDE-12 > com.mgtsciences.cbnx.support.init: > com.mgtsciences.cbnx.support.up-to-date: > com.mgtsciences.cbnx.support.compile: > com.mgtsciences.cbnx.support.jar-prep: > com.mgtsciences.cbnx.support.jar: > com.mgtsciences.cbnx.support.netbeans-extra: > com.mgtsciences.cbnx.support.javahelp: > com.mgtsciences.cbnx.support.module-auto-deps: > com.mgtsciences.cbnx.support.release: > com.mgtsciences.cbnx.support.module-xml-regular: > com.mgtsciences.cbnx.support.module-xml-autoload: > com.mgtsciences.cbnx.support.module-xml-eager: > com.mgtsciences.cbnx.support.chmod-executables: > com.mgtsciences.cbnx.support.verify-class-linkage: > 0 file(s) have been successfully validated. > com.mgtsciences.cbnx.support.netbeans: > Generating Auto Update information for com.mgtsciences.cbnx.support > debug: > run.debug: > run.run: > Jan 22, 2022 2:56:46 PM org.netbeans.ProxyURLStreamHandlerFactory register > SEVERE: No way to find original stream handler for jar protocol > java.lang.reflect.InaccessibleObjectException: Unable to make field transient > java.net.URLStreamHandler java.net.URL.handler accessible: module java.base > does not "opens java.net" to unnamed module @3e07d849 > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) > at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) > at > org.netbeans.ProxyURLStreamHandlerFactory.register(ProxyURLStreamHandlerFactory.java:59) > at org.netbeans.JarClassLoader.<clinit>(JarClassLoader.java:117) > at org.netbeans.MainImpl.execute(MainImpl.java:153) > at org.netbeans.MainImpl.main(MainImpl.java:60) > at org.netbeans.Main.main(Main.java:58) > > ------------------------------------------------------------------------------- >> Log Session: Saturday, January 22, 2022 at 2:56:46 PM Mountain Standard Time >> System Info: > Product Version = CBNXIDE-12 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861 > Operating System = Linux version 5.13.0-27-generic running on amd64 > Java; VM; Vendor = 17.0.2; OpenJDK 64-Bit Server VM 17.0.2+8-86; > Oracle Corporation > Runtime = OpenJDK Runtime Environment 17.0.2+8-86 > Java Home = /opt/jdk-17.0.2 > System Locale; Encoding = en_US (app); UTF-8 > Home Directory = /home/peter > Current Directory = /home/peter/NetBeansProjects/CBNXIDE-12 > User Directory = > /home/peter/NetBeansProjects/CBNXIDE-12/build/testuserdir > Cache Directory = > /home/peter/NetBeansProjects/CBNXIDE-12/build/testuserdir/var/cache > Installation = > /home/peter/NetBeansProjects/CBNXIDE-12/build/cluster > /opt/netbeans-12.6/netbeans/ide > /opt/netbeans-12.6/netbeans/platform > /opt/netbeans-12.6/netbeans/platform > Boot & Ext. Classpath = > Application Classpath = > /opt/netbeans-12.6/netbeans/platform/lib/boot.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-modules.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-util-lookup.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-util-ui.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-util.jar > Startup Classpath = > /opt/netbeans-12.6/netbeans/platform/core/asm-tree-9.2.jar:/opt/netbeans-12.6/netbeans/platform/core/core.jar:/opt/netbeans-12.6/netbeans/platform/core/asm-commons-9.2.jar:/opt/netbeans-12.6/netbeans/platform/core/org-openide-filesystems-compat8.jar:/opt/netbeans-12.6/netbeans/platform/core/asm-9.2.jar:/opt/netbeans-12.6/netbeans/platform/core/org-openide-filesystems.jar:/opt/netbeans-12.6/netbeans/platform/core/org-netbeans-libs-asm.jar:/opt/netbeans-12.6/netbeans/platform/core/core-base.jar:/home/peter/NetBeansProjects/CBNXIDE-12/build/cluster/core/locale/core_app.jar > ------------------------------------------------------------------------------- > INFO [org.netbeans.core.startup.NbEvents]: Turning on modules: > org.openide.util.lookup [8.48 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.util [9.22 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.util.ui [9.22 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.modules [7.62 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.annotations.common/1 [1.42 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.filesystems [9.26 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.awt [7.82 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.progress/1 [1.62 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.progress.nb [1.62 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.dialogs [7.56 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.nodes [7.59 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.windows [6.91 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.libs.batik.read [1.7.0.1 1 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.util.ui.svg [1.8 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.editor.mimelookup/1 [1.54 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.text [6.82 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.scripting [1.11 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.swing.tabcontrol [1.70 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.swing.outline [1.48 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.explorer [6.76 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.actions [6.53 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.queries/1 [1.57 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.templates [1.22 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.filesystems.nb [9.24 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.loaders [7.84 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.intent [1.16 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.io [1.17 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.io [1.63 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.filesystems.compat8 [9.23 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.openide.execution [9.17 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.swing.plaf [1.56 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.spi.quicksearch [1.41 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.libs.asm [5.17 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.bootstrap/1 [2.92 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.startup.base [1.76.0.1 1 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.startup/1 [1.76.0.1 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.sendopts/2 [2.50 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.utilities/1 [1.75 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.settings/1 [1.63 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.sampler [1.28 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.projectapi/1 [1.82 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.projectuiapi.base/1 [1.99.0.9 9 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.projectuiapi/1 [1.102.0.8 8 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.project.indexingbridge [1.31 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.keyring [1.38 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core/2 [3.65 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.execution/1 [1.56 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.masterfs/2 [2.69.0.2 2 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.options.api/1 [1.59 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.ui/1 [1.59 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.favorites/1 [1.60 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.projectui [1.73.0.8.9 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.projectapi.nb [1.18 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.progress.ui [1.47 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.print [7.40 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.options.keymap [1.51 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.masterfs.ui [2.17.0.2 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.masterfs.nio2 [1.29 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.libs.jna/2 [2.9 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.masterfs.linux [1.27 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.keyring.fallback [1.22 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.keyring.impl [1.38 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.modules.editor.mimelookup.impl/1 [1.46 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.libs.osgi [1.36 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.libs.jna.platform/2 [2.9 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.libs.felix [2.29 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.windows/2 [2.99 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.output2/1 [1.56 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.network [1.26 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.netigso [1.45 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.nativeaccess/1 [1.45 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.multiview/1 [1.58 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.multitabs/1 [1.26.0.1 1 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.core.io.ui/1 [1.44 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > org.netbeans.api.progress.compat8 [1.61 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861] > com.mgtsciences.cbnx.support [1.0 220122] > WARNING [org.openide.filesystems.Ordering]: Not all children in > Services/MIMEResolver/ marked with the position attribute: > [com-mgtsciences-cbnx-support-KnowledgebaseDataObject-Extension.xml], but > some are: > [org-openide-loaders-DataLoaderPool$InstanceLoaderSystem-Extension.xml, > org-netbeans-core-startup-layers-SystemFileSystem-Extension.xml, > org-netbeans-modules-url-URLDataObject-Extension.xml, > org-netbeans-modules-pdf-PDFDataObject-Extension.xml] > WARNING [org.openide.filesystems.Ordering]: Not all children in > Services/MIMEResolver/ marked with the position attribute: > [com-mgtsciences-cbnx-support-KnowledgebaseDataObject-Extension.xml], but > some are: > [org-openide-loaders-DataLoaderPool$InstanceLoaderSystem-Extension.xml, > org-netbeans-core-startup-layers-SystemFileSystem-Extension.xml, > org-netbeans-modules-url-URLDataObject-Extension.xml, > org-netbeans-modules-pdf-PDFDataObject-Extension.xml] > INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network > proxy resolver: no suitable found, using fallback. > INFO [org.netbeans.core.network.proxy.fallback.FallbackNetworkProxy]: > Fallback system proxy resolver: no http_proxy variable found > INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network > proxy reloading succeeded. > INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network > proxy - mode: direct > INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network > proxy: fell to default (correct if direct mode went before) > WARNING: A terminally deprecated method in java.lang.System has been called > WARNING: System::setSecurityManager has been called by > org.netbeans.TopSecurityManager > (file:/opt/netbeans-12.6/netbeans/platform/lib/boot.jar) > WARNING: Please consider reporting this to the maintainers of > org.netbeans.TopSecurityManager > WARNING: System::setSecurityManager will be removed in a future release > INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL > java.lang.IllegalAccessException: class org.netbeans.TopSecurityManager > cannot access class sun.awt.AppContext (in module java.desktop) because > module java.desktop does not export sun.awt to unnamed module @3e07d849 > at > java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392) > at > java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674) > at java.base/java.lang.reflect.Method.invoke(Method.java:560) > at > org.netbeans.TopSecurityManager.makeSwingUseSpecialClipboard(TopSecurityManager.java:714) > at > org.netbeans.core.NbLifecycleManager.advancePolicy(NbLifecycleManager.java:71) > at org.netbeans.core.GuiRunLevel.run(GuiRunLevel.java:84) > at org.netbeans.core.startup.Main.start(Main.java:295) > at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:98) > at java.base/java.lang.Thread.run(Thread.java:833) > Diagnostic information > Input arguments: > -Djdk.home=/opt/jdk-17.0.2 > -Dnetbeans.dirs=/home/peter/NetBeansProjects/CBNXIDE-12/build/cluster:/opt/netbeans-12.6/netbeans/ide:/opt/netbeans-12.6/netbeans/platform > -Dnetbeans.home=/opt/netbeans-12.6/netbeans/platform > -Dnetbeans.logger.console=true > -ea > -agentlib:jdwp=transport=dt_socket,suspend=y,server=n,address=localhost:41443 > -XX:+HeapDumpOnOutOfMemoryError > -XX:HeapDumpPath=/home/peter/NetBeansProjects/CBNXIDE-12/build/testuserdir/var/log/heapdump.hprof > -Djava.security.manager=allow > Compiler: HotSpot 64-Bit Tiered Compilers > Heap memory usage: initial 504.0MB maximum 8008.0MB > Non heap memory usage: initial 7.3MB maximum -1b > Garbage collector: G1 Young Generation (Collections=3 Total time spent=0s) > Garbage collector: G1 Old Generation (Collections=0 Total time spent=0s) > Classes: loaded=6377 total loaded=6377 unloaded 0 > INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 33,579,487,232 > INFO [null]: Total physical memory 33,579,487,232 > WARNING [org.netbeans.core.execution.AccController] > java.lang.reflect.InaccessibleObjectException: Unable to make field private > java.security.ProtectionDomain[] java.security.AccessControlContext.context > accessible: module java.base does not "opens java.security" to unnamed module > @4d60c271 > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) > at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) > at > org.netbeans.core.execution.AccController.getContextField(AccController.java:50) > at org.netbeans.core.execution.AccController.getDomains(AccController.java:58) > at > org.netbeans.core.execution.AccController.getIOPermissionCollection(AccController.java:78) > at > org.netbeans.core.execution.AccController.getIOPermissionCollection(AccController.java:72) > at org.netbeans.core.execution.SecMan.checkTopLevelWindow(SecMan.java:105) > at org.netbeans.core.execution.SecMan.checkPermission(SecMan.java:97) > at > org.netbeans.TopSecurityManager.checkTopLevelWindow(TopSecurityManager.java:208) > at > org.netbeans.TopSecurityManager.checkPermission(TopSecurityManager.java:484) > at java.desktop/java.awt.Window.setWarningString(Window.java:1408) > at java.desktop/java.awt.Window.init(Window.java:508) > at java.desktop/java.awt.Window.<init>(Window.java:453) > at java.desktop/java.awt.Window.<init>(Window.java:608) > at java.desktop/java.awt.Dialog.<init>(Dialog.java:675) > at java.desktop/java.awt.Dialog.<init>(Dialog.java:419) > at java.desktop/javax.swing.JDialog.<init>(JDialog.java:273) > at org.netbeans.core.windows.services.NbPresenter.<init>(NbPresenter.java:179) > at org.netbeans.core.windows.services.NbDialog.<init>(NbDialog.java:42) > [catch] at > org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:212) > at > org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run(DialogDisplayerImpl.java:170) > at > java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) > at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:399) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) > at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741) > at > org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) > at > java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) > at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) > WARNING [org.openide.filesystems.Ordering]: Not all children in Templates/ > marked with the position attribute: [Other], but some are: [Licenses, > Privileged, Project, Recent, Services] > INFO [org.netbeans.modules.sampler.InternalSampler]: Slowness detector > disabled - running in debug mode > BUILD SUCCESSFUL (total time: 1 minute 45 seconds) > > ________________________________ > From: Peter Blemel <pble...@hotmail.com> > Sent: Saturday, January 22, 2022 3:25 PM > To: dev@netbeans.apache.org <dev@netbeans.apache.org> > Subject: Re: How to add 'File -> New' and 'File -> Open' to a NB 12.6 > platform application? > > Thanks. After starting a brand-new Platform Application and following the > New File Type and New Template tutorials, here's what I've learned so far. > > o Using a Maven project (Java with Maven -> NetBeans Application) takes about > an hour to download various artifacts. When it's finished, the application > does not compile or run. > > I'd like to try Maven, but since right now I'm just trying to brush off the > cobwebs I gave up and switched back to "Java with Ant -> NetBeans Modules -> > NetBeans Platform Application". I didn't save the error messages. > > o These tutorials are written with a plug-in module developer in mind. Each > assumes that the module will be installed in a running IDE. > > That's okay, but for someone trying to develop a platform-based application, > they leave unanswered questions like, "where are the Open and New menus?". > The former is in the FAQ (which I knew, but forget). > - File -> Open is in the User Utilities module. > - File -> New is in the Projects module. This is fine if the app developer > wants to have a project-based application (I do), but not particularly useful > for a file-based application. > > As for File -> New in a non-project-based application, it would be nice to > use the existing infrastructure for templates; but my simple work-around for > now is using a standard chooser. > > o Adding a new file template using the steps in the current tutorial does not > result in the new file type/template appearing in the "New File" dialog box. > > While this project is a brand-new application in which I'm trying to follow > tutorials, my older project used a layer.xml file that does work. The > newer-style annotations are very simple, and I've double-checked my syntax, > but I may be missing another module from the platform or ide. I'm still > trying to troubleshoot why, since obviously many file types exist that work - > but I don't know which use annotations and which have older manual layer.xml > files. > > o The platform app throws exceptions at startup that may also be part of the > problem, but I am at a loss as to how to resolve them. > > One of the errors is related to dialogs, so maybe that's the root of my > "missing file type" problem. > > The IDE log shows: > Jan 22, 2022 2:56:46 PM org.netbeans.ProxyURLStreamHandlerFactory register > SEVERE: No way to find original stream handler for jar protocol > java.lang.reflect.InaccessibleObjectException: Unable to make field transient > java.net.URLStreamHandler java.net.URL.handler accessible: module java.base > does not "opens java.net" to unnamed module @3e07d849 > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) > at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) > at > org.netbeans.ProxyURLStreamHandlerFactory.register(ProxyURLStreamHandlerFactory.java:59) > at org.netbeans.JarClassLoader.<clinit>(JarClassLoader.java:117) > at org.netbeans.MainImpl.execute(MainImpl.java:153) > at org.netbeans.MainImpl.main(MainImpl.java:60) > at org.netbeans.Main.main(Main.java:58) > ------------------------------------------------------------------------------- >> Log Session: Saturday, January 22, 2022 at 2:56:46 PM Mountain Standard Time >> System Info: > Product Version = CBNXIDE-12 > 12.6-9cacf1fd305b775b176576c8b633b10b73524861 > Operating System = Linux version 5.13.0-27-generic running on amd64 > Java; VM; Vendor = 17.0.2; OpenJDK 64-Bit Server VM 17.0.2+8-86; > Oracle Corporation > Runtime = OpenJDK Runtime Environment 17.0.2+8-86 > Java Home = /opt/jdk-17.0.2 > System Locale; Encoding = en_US (app); UTF-8 > Home Directory = /home/peter > Current Directory = /home/peter/NetBeansProjects/CBNXIDE-12 > User Directory = > /home/peter/NetBeansProjects/CBNXIDE-12/build/testuserdir > Cache Directory = > /home/peter/NetBeansProjects/CBNXIDE-12/build/testuserdir/var/cache > Installation = > /home/peter/NetBeansProjects/CBNXIDE-12/build/cluster > /opt/netbeans-12.6/netbeans/ide > /opt/netbeans-12.6/netbeans/platform > /opt/netbeans-12.6/netbeans/platform > Boot & Ext. Classpath = > Application Classpath = > /opt/netbeans-12.6/netbeans/platform/lib/boot.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-modules.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-util-lookup.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-util-ui.jar:/opt/netbeans-12.6/netbeans/platform/lib/org-openide-util.jar > Startup Classpath = > /opt/netbeans-12.6/netbeans/platform/core/asm-tree-9.2.jar:/opt/netbeans-12.6/netbeans/platform/core/core.jar:/opt/netbeans-12.6/netbeans/platform/core/asm-commons-9.2.jar:/opt/netbeans-12.6/netbeans/platform/core/org-openide-filesystems-compat8.jar:/opt/netbeans-12.6/netbeans/platform/core/asm-9.2.jar:/opt/netbeans-12.6/netbeans/platform/core/org-openide-filesystems.jar:/opt/netbeans-12.6/netbeans/platform/core/org-netbeans-libs-asm.jar:/opt/netbeans-12.6/netbeans/platform/core/core-base.jar:/home/peter/NetBeansProjects/CBNXIDE-12/build/cluster/core/locale/core_app.jar > ------------------------------------------------------------------------------- > INFO [org.netbeans.core.startup.NbEvents]: Turning on modules: > ... > Lots of modules omitted by me, but I can provide them if anyone is interested > ... > > WARNING: A terminally deprecated method in java.lang.System has been called > WARNING: System::setSecurityManager has been called by > org.netbeans.TopSecurityManager > (file:/opt/netbeans-12.6/netbeans/platform/lib/boot.jar) > WARNING: Please consider reporting this to the maintainers of > org.netbeans.TopSecurityManager > WARNING: System::setSecurityManager will be removed in a future release > INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL > java.lang.IllegalAccessException: class org.netbeans.TopSecurityManager > cannot access class sun.awt.AppContext (in module java.desktop) because > module java.desktop does not export sun.awt to unnamed module @3e07d849 > at > java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392) > at > java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674) > at java.base/java.lang.reflect.Method.invoke(Method.java:560) > at > org.netbeans.TopSecurityManager.makeSwingUseSpecialClipboard(TopSecurityManager.java:714) > at > org.netbeans.core.NbLifecycleManager.advancePolicy(NbLifecycleManager.java:71) > at org.netbeans.core.GuiRunLevel.run(GuiRunLevel.java:84) > at org.netbeans.core.startup.Main.start(Main.java:295) > ... additional traceback omitted for brevity ... > [catch] at > org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:212) > at > org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run(DialogDisplayerImpl.java:170) > at > java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) > at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) > at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:399) > at > java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) > at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741) > at > org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) > at > java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) > at > java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) > at > java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) > at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) > WARNING [org.openide.filesystems.Ordering]: Not all children in Templates/ > marked with the position attribute: [Other], but some are: [Licenses, > Privileged, Project, Recent, Services] > > o Some of these tutorials include graphics from other tutorials, making them > extremely confusing. > > My guess is that the tutorials used to live in a different directory > structure and used the same file names. If so, when they got moved some of > the original files got lost. > > I'm willing to re-work the tutorials that I'm following, adding some comments > to application developers. I'd like to get a working platform app and build > up a tutorial sequence around the steps. > > Thanks, > Peter > > ________________________________ > From: Zoran Sevarac <seva...@gmail.com> > Sent: Friday, January 21, 2022 5:33 AM > To: dev@netbeans.apache.org <dev@netbeans.apache.org> > Subject: Re: How to add 'File -> New' and 'File -> Open' to a NB 12.6 > platform application? > > Hi, > > For New file create a New File Wizard > > File>New> Modeule Development> Wizard> Next > New File using Swing UI ... > > For opening you need to Create OpenCookie and put it in the lookup of the > Node of your file > Or if you want to put it in File Menu create and register action there that > will take OpenCookie from the global lookup (if the current selected node > is the one you want to open, depends what you want) > > Cheers > > <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> > Virus-free. > www.avast.com<http://www.avast.com> > <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> > <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > On Fri, Jan 21, 2022 at 10:31 AM Peter Blemel <pble...@hotmail.com> wrote: > >> It's been too long. I forgot that Open is not in the platform. It's in >> User Utilities in the ide cluster, which is not enabled by default when >> creating a new platform application. I'm not sure where "New" is, but >> that's a search for tomorrow. >> >> Thanks, >> Peter >> >> >> ________________________________ >> From: Geertjan Wielenga <geertjan.wiele...@googlemail.com.INVALID> >> Sent: Friday, January 21, 2022 1:51 AM >> To: dev <dev@netbeans.apache.org> >> Subject: Re: How to add 'File -> New' and 'File -> Open' to a NB 12.6 >> platform application? >> >> If I remember correctly, it's a Utilities module that provides those, best >> would be to find the New File action in the Apache NetBeans sources, maybe >> search for that string, and see which module it is part of. >> >> Gj >> >> On Fri, Jan 21, 2022 at 9:44 AM Peter Blemel <pble...@hotmail.com> wrote: >> >>> Hi Everyone, >>> >>> I've been trying to get my NetBeans platform application running again, >>> but some things are eluding me. I created a new platform application and >>> I've been going through the tutorials for file type, lexer, and parser >>> integration to try and re-familiarize myself with everything after a few >>> years away from doing any compiler integration in a platform app. The >>> tutorials are in mixed shape, but I've been making notes as I go to >>> hopefully help clean them up as I go. >>> >>> After going through the 'New ABC File Type" tutorial, I have a bare bones >>> NetBeans Platform application running but have no way to create or open >> an >>> ".abc" file. For the life of me I can not figure out how to add "New" and >>> "Open" actions to the "File Menu". I've enabled every module in the >>> Platform, added a layer.xml, but am out of tricks to try. "Save" and >> "Save >>> As" are there, but of course disabled since there's no cookies in the >>> Lookup. >>> >>> If someone can kindly tell me the trick to adding the Open and New menu >>> items/actions to a 12.6 Platform Application, I'd appreciate it. >>> >>> Thanks, >>> Peter >>> > > -- > Zoran Sevarac, PhD, Associate Professor > University of Belgrade, Faculty of Organisational Sciences, Department for > Software Engineering > Java Champion <https://community.oracle.com/community/java/java-champions> > | Oracle Groundbreaker Ambassador | Deep Netts <http://www.deepnetts.com> > Co-founder & CEO >