Comments (4)
I'm not sure about this. I think pathForResourceNamed
must return a real filesystem path, and this does not work with URL like paths needed to locate files inside Jars.
For example ERXFileUtilities.pathForResourceNamed("Localizable.strings", "ERExtensions", NSArray.of("English"))
may return something like file:///Users/auser/.m2/repository/wonder/core/ERExtensions/7.4.3/ERExtensions-7.4.3.jar!/Resources/English.lproj/Localizable.strings
when the jar check is disabled. But this string is missing the jar:
prefix that the real URL has, and is unusable for locating anything.
The URL version pathURLForResourceNamed
should be used instead where appropriate. There are a few places, especially when locating property files, that currently still use pathForResourceNamed
where the URL version might be better suited.
from wonder.
Well, both pathURLForResourceNamed
and pathForResourceNamed
will call application.resourceManager.pathURLForResourceNamed
. So in a normal scenario they will return the same result. In addition, pathForResourceNamed
will check if application is null and tries to look for the corresponding NSBunde to retrieve the pathURL.
Is there is a use case, where WOApplication.application()
will return null
: ERXProperties.applyConfiguration
from wonder.
It turns out, that ERXProperties fails to read the Properties during application startup (via EXProperties.applyConfiguration). But this is another issue. But at the end, all expected properties are loaded somehow.
from wonder.
I'm not sure about this. I think
pathForResourceNamed
must return a real filesystem path, and this does not work with URL like paths needed to locate files inside Jars. [...]
I finally see that there is subtile difference between url.getFile() and url.toExternalForm().
The URL version
pathURLForResourceNamed
should be used instead where appropriate. There are a few places, especially when locating property files, that currently still usepathForResourceNamed
where the URL version might be better suited.
Ok, I will fix ERXNavigationManager.registerObserverForFramework, which will throw an NullPointerException, if the navigationMenuFile is contained in a jar.
from wonder.
Related Issues (20)
- ERXNavigationManager.registerObserverForFramework throws an NullPointerException HOT 1
- Confusing warnings 'Can't get path when run as jar' during application start HOT 1
- hard coded DriverClassName in MySQLPlugin HOT 1
- WOHyperLink->WOLongResponsePage -> WORedirect caching problem
- Is the wiki down? HOT 2
- Pull request is not visible HOT 2
- wotaskd won't start HOT 1
- The maven.wocommunity.org TLS certificate is expired
- AjaxAutocomplete doesn't render in correct place if window scrolled, since prototype 1.7.3 HOT 1
- WOInstaller crash HOT 7
- Some suggestions about Thread.sleep()
- Dependencies causes CVEs in your execution path
- github code scanning shows some things that might be worth fixing
- Is the "Wonder Master Build" workflow broken? HOT 1
- Get Wonder building on Java 16 HOT 7
- ERXConfigurationManager.isDeployedAsServlet() always returns true HOT 1
- -undefined- does not work for ERXObjectStoreCoordinatorPool.maxCoordinators HOT 2
- Github action workflow to generate Maven Release and deploy it, and then generate Snapshot to work locally?
- ERXStaticResourceRequestHandler wodata ignored in enviroment with customized WOAdaptorURL HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wonder.