Um: ```Configuring CommandBox home: C:\Users\ookma...
# box-products
o
Um:
Copy code
Configuring CommandBox home: C:\Users\ookma\.CommandBox (change with -CommandBox_home=/path/to/dir)
Library path: C:\Users\ookma\.CommandBox\lib
Initializing libraries -- this will only happen once, and takes a few seconds...
...
Libraries initialized
 √ | Installing ALL dependencies
   | √ | Installing package [forgebox:coldbox@^6.0.0]
   | √ | Installing package [forgebox:quick@^4.0.0]
   | √ | Installing package [forgebox:cbsecurity@^2.0.0]
   | √ | Installing package [forgebox:BCrypt@^3.0.0]
   | √ | Installing package [forgebox:cbvalidation@^3.0.0]
   | √ | Installing package [forgebox:redirectBack@^1.2.2]
   | √ | Installing package [forgebox:testbox@^4.0.0]
   | √ | Installing package [forgebox:commandbox-dotenv@*]
   |   | √ | Installing package [forgebox:propertyFile@^1.1.0]
   | √ | Installing package [forgebox:commandbox-migrations@*]
   |   | √ | Installing package [forgebox:cfmigrations@^3.0.6]
   |   |   | √ | Installing package [forgebox:qb@^8.0.0]
   |   |   |   | √ | Installing package [forgebox:cbpaginator@^2.4.0]
   |   | √ | Installing package [forgebox:sqlformatter@^1.1.3+31]
   |   |   | √ | Installing package [forgebox:cbjavaloader@^2.1.0+5]
   | √ | Installing package [forgebox:commandbox-cfconfig@*]
   |   | √ | Installing package [forgebox:cfconfig-services@be]
   |   |   | √ | Installing package [forgebox:lucee-password-util@^1.0.0]
   |   |   | √ | Installing package [forgebox:adobe-password-util@^1.0.0]
   |   |   |   | √ | Installing package [forgebox:propertyFile@^1.0.0]
   |   |   | √ | Installing package [forgebox:propertyFile@^1.0.7]
   |   |   | √ | Installing package [forgebox:semver@^1.0.0]
   |   |   | √ | Installing package [forgebox:JSONPrettyPrint@^1.2.6]
   | √ | Installing package [forgebox:commandbox-cfformat@*]
   |   | √ | cftokens executable not found.  Please wait for a moment while it is downloaded.
   | √ | Installing package [forgebox:cfmigrations@^2.0.0]
PS D:\ookma-kyi-core> box start
 √ | Starting Server
   | √ | Setting Server Profile to [development]
   | √ | Loading CFConfig into server

[INFO ] Runwar: ******************************************************************************
[INFO ] Runwar: Starting RunWAR 4.7.7
[INFO ] Runwar: Binding HTTP on 127.0.0.1:8080
[INFO ] Runwar: Enabling HTTP/2
[INFO ] Runwar: Starting background ookma-kyi-core [lucee 5.3.10+120] from: /C:/Users/ookma/.CommandBox/lib/runwar-4.7.7.jar
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by runwar.LaunchUtil (file:/C:/Users/ookma/.CommandBox/lib/runwar-4.7.7.jar) to method java.lang.ProcessImpl.pid()
WARNING: Please consider reporting this to the maintainers of runwar.LaunchUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO ] Starting in background -
I don't understand what this means?
a
Which part? You have cited ~50 lines of text and offered no context? I suspect about 40 lines of that was just unnecessary bloat that makes it harder for people to work out how to help you, and you are referring to the "An illegal reflective access operation has occurred" warning? Did you google it? Did you read what the results of the googling said? Is it unclear (it could well be - completely legit - and that could be the basis of a different question) Did you check CommandBox's Jira to see if anyone has already raised this? (hint: erm... I'd not be suggesting this for no reason, but it should always be a port of call when encountering issues with software: check it it actually is an issue...). Did you do any investigations of your own before raising this? Can I recommend you do that lot, plus you also read this lot: http://www.catb.org/~esr/faqs/smart-questions.html, and adopt that approach to upskilling yer troubleshooting.
b
@Ookma-Kyi Looks like a normal
box install
and
server start
to me. No errors detected. Like Adam said, what specific part do you have questions about?
o
Sorry I was referring to this:
Copy code
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by runwar.LaunchUtil (file:/C:/Users/ookma/.CommandBox/lib/runwar-4.7.7.jar) to method java.lang.ProcessImpl.pid()
WARNING: Please consider reporting this to the maintainers of runwar.LaunchUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO ] Starting in background -
I googled it and it stated that it was an exception being raised and that there wasn't any fix. It mentions
Felix
a lot though.
b
@Ookma-Kyi You just pasted the entire thing again, lol
I don't see anything related to Felix in there, nor do I see any errors or exceptions
Are you by chance referring to the warning at the bottom?
o
Thed illegal reflective access is the exception
b
That's nothing to worry about, just a warning from Java 11.
o
b
I've added prelim support for java 16+ in the next version of CommandBox which gets rid of that
That Lucee ticket is related in that it also applies to relfective access, but it's not the same as the one above
Thed illegal reflective access is the exception
Again, that is not an exception. It's a warning, as evidenced by the word "warning" to the left of each line! 🙂
It's a change that Java 11 started warning about, and then Java 16+ started blocking
o
Ok thank you
So it's a Java thing, not a ColdFusion issue?
Cause CF is technically Java
b
Here's the code in question in case you're curious
Copy code
long PID = 0;
        // PID is only accessable on Java 9+
        Method pidMethod = method(process.getClass(), "pid");
        if (pidMethod != null) {
            pidMethod.setAccessible(true);
            PID = (long) invoke(pidMethod, process);
        }
CommandBox still supports Java 8 (which does not have a
pid()
method on the
Process
class, but i wanted to be able to get that for anyone on Java 9 or later, so I used Java Reflection to do so. Oracle is changing how Java works to prevent this sort of thing by default.
Yes, very much a Java thing. It's an underlying change Oracle has made to the JVM and it's a total pain in the butt for CF which uses TONs of reflection under the hood!
Now (in java 16+), special JVM args are required for java code to use refection against a java module which has not explicitly "opened" itself up for reflection.
This is why none of the CF engines have Java 16 support yet. Lucee is part of the way there, and Adobe is working on it for 2023.