It might be more useful not to launch from the IDE. Instead run gradle "ofbizDebug" and hookup remotely with the debug port. This would maintain a consistent environment instead of being surprised (happened to me in the past). It would also make a consistent experience to development team regardless of the IDE and you won't have to alter the jar file to accommodate an IDE.
With that being said I don't think it's a big deal if you wish to remove those exclusions. Up to community to decide. On Sat, May 25, 2019, 6:37 PM Girish Vasmatkar < girish.vasmat...@hotwaxsystems.com> wrote: > So every IDE provides a shortcut (certain combination of keys) to execute > any java file in a project as a java application, that in turn invokes > *java > *command on that class file. Eclipse applies all classpath entries (list of > jar files from gradle dependency) as -classpath argument. > > Under the hood command that gets executed is - > > java org.apache.ofbiz.base.start.Start -classpath <folders, jars> > > I do this because it saves a lot of time. As soon as you make any change in > any file, especially java, it is compiled instantaneously as soon as you > save it. All you have to do is, just run Start.java as a java application > and you have OFBiz launched quickly. > > > > On Sat, May 25, 2019 at 7:23 PM Taher Alkhateeb < > slidingfilame...@gmail.com> > wrote: > > > start how? what is the command? Are you trying to start _from_ eclipse. > If > > yes why? > > > > On Sat, May 25, 2019 at 2:26 PM Girish Vasmatkar < > > girish.vasmat...@hotwaxsystems.com> wrote: > > > > > I realised Taher's reply after I had sent my response. > > > > > > Following's the command. > > > > > > *./gradlew eclipse* > > > > > > This would do the job of setting up the eclipse workspace with all all > > > gradle dependencies nicely set-up in the classpath. > > > > > > Then I would normally try to start OFBiz using Start.java. Not sure if > > you > > > can see the inline screenshot. Pl see below. > > > > > > [image: image.png] > > > > > > > > > > > > > > > > > > > > > On Sat, May 25, 2019 at 4:49 PM Girish Vasmatkar < > > > girish.vasmat...@hotwaxsystems.com> wrote: > > > > > >> There is a bit more to it ... > > >> > > >> When the system can't find cache.properties (as it's no more on the > > >> classpath), following happens - > > >> > > >> 1. Exception is thrown (which is obvious) > > >> 2. Code execution halts (which is fine), so no tomcat is launched. > > >> 3. Since execution stops, JVM should be terminated in my opinion. In > > >> other words, JVM should not keep hanging doing nothing, better stop it > > if a > > >> major exception has occurred. The JVM process is never terminated in > > this > > >> case. > > >> > > >> Again, this is a very isolated scenario because it is always expected > > >> that these config files and folders are always going to be on the > > >> classpath. But this is one of those rare scenarios > > >> where that's not the case. > > >> > > >> Log4j2 internal initialization logging. > > >> > > >> java.util.MissingResourceException: Can't find bundle for base name > > >> cache, locale en > > >> > > >> at java.util.ResourceBundle.throwMissingResourceException( > > >> ResourceBundle.java:1573) > > >> > > >> at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396) > > >> > > >> at java.util.ResourceBundle.getBundle(ResourceBundle.java:782) > > >> > > >> at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams( > > >> UtilCache.java:191) > > >> > > >> at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams( > > >> UtilCache.java:173) > > >> > > >> at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams( > > >> UtilCache.java:169) > > >> > > >> at > org.apache.ofbiz.base.util.cache.UtilCache.<init>(UtilCache.java:125) > > >> > > >> at org.apache.ofbiz.base.util.cache.UtilCache.createUtilCache( > > >> UtilCache.java:797) > > >> > > >> at org.apache.ofbiz.base.util.UtilProperties.<clinit>( > > >> UtilProperties.java:75) > > >> > > >> at org.apache.ofbiz.base.util.Debug.<clinit>(Debug.java:69) > > >> > > >> at org.apache.ofbiz.base.container.ContainerLoader.load( > > >> ContainerLoader.java:61) > > >> > > >> at org.apache.ofbiz.base.start.StartupControlPanel.loadStartupLoaders( > > >> StartupControlPanel.java:218) > > >> > > >> at org.apache.ofbiz.base.start.StartupControlPanel.start( > > >> StartupControlPanel.java:71) > > >> > > >> at org.apache.ofbiz.base.start.Start.main(Start.java:85) > > >> > > >> > > >> Best, > > >> Girish > > >> > > >> On Sat, May 25, 2019 at 2:56 PM Girish Vasmatkar < > > >> girish.vasmat...@hotwaxsystems.com> wrote: > > >> > > >>> Hi Mathieu, > > >>> > > >>> With those entries missing from the classpath, you'd get the > following > > >>> exceptions and warning - > > >>> > > >>> 1. For cache.properties (when /framework/base/config entry is > missing) > > >>> > > >>> Exception in thread "main" java.lang.ExceptionInInitializerError > > >>> > > >>> at org.apache.ofbiz.base.util.Debug.<clinit>(Debug.java:69) > > >>> > > >>> at org.apache.ofbiz.base.container.ContainerLoader.load( > > >>> ContainerLoader.java:61) > > >>> > > >>> at > org.apache.ofbiz.base.start.StartupControlPanel.loadStartupLoaders( > > >>> StartupControlPanel.java:218) > > >>> > > >>> at org.apache.ofbiz.base.start.StartupControlPanel.start( > > >>> StartupControlPanel.java:71) > > >>> > > >>> at org.apache.ofbiz.base.start.Start.main(Start.java:85) > > >>> > > >>> Caused by: java.util.MissingResourceException: Can't find bundle for > > >>> base name cache, locale en > > >>> > > >>> at java.util.ResourceBundle.throwMissingResourceException( > > >>> ResourceBundle.java:1573) > > >>> > > >>> at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396) > > >>> > > >>> at java.util.ResourceBundle.getBundle(ResourceBundle.java:782) > > >>> > > >>> at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams( > > >>> UtilCache.java:177) > > >>> > > >>> at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams( > > >>> UtilCache.java:173) > > >>> > > >>> at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams( > > >>> UtilCache.java:169) > > >>> > > >>> at > > org.apache.ofbiz.base.util.cache.UtilCache.<init>(UtilCache.java:125) > > >>> > > >>> at org.apache.ofbiz.base.util.cache.UtilCache.createUtilCache( > > >>> UtilCache.java:779) > > >>> > > >>> at org.apache.ofbiz.base.util.UtilProperties.<clinit>( > > >>> UtilProperties.java:75) > > >>> > > >>> ... 5 more > > >>> > > >>> 2. when /framework/base/dtd entry is missing (contains all schema > > files) > > >>> > > >>> 2019-05-25 14:48:37,591 |main |ContainerLoader > > >>> |I| [Startup] Loading containers... > > >>> > > >>> 2019-05-25 14:48:38,431 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-containers.xsd] > > >>> > > >>> 2019-05-25 14:48:39,139 |main |ContainerLoader > > >>> |I| Loading container: component-container > > >>> > > >>> 2019-05-25 14:48:39,244 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [component-loader.xsd] > > >>> > > >>> 2019-05-25 14:48:39,596 |main |ComponentContainer > > >>> |I| Auto-Loading component directory : > > >>> [/Users/grv/git/clients/warbyparker/github/ofbiz/framework] > > >>> > > >>> 2019-05-25 14:48:39,641 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [component-loader.xsd] > > >>> > > >>> 2019-05-25 14:48:39,898 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:40,210 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:40,496 |main |ComponentContainer > > >>> |I| Added class path for component : [base] > > >>> > > >>> 2019-05-25 14:48:40,552 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:40,923 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:41,162 |main |ComponentContainer > > >>> |I| Added class path for component : [entity] > > >>> > > >>> 2019-05-25 14:48:41,190 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:41,491 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:42,300 |main |ComponentContainer > > >>> |I| Added class path for component : [security] > > >>> > > >>> 2019-05-25 14:48:42,323 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:42,615 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:42,865 |main |ComponentContainer > > >>> |I| Added class path for component : [datafile] > > >>> > > >>> 2019-05-25 14:48:42,883 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with publicId [null] and the file/resource is > > >>> [ofbiz-component.xsd] > > >>> > > >>> 2019-05-25 14:48:43,128 |main |UtilXml > > >>> |W| [UtilXml.LocalResolver.resolveEntity] could not find LOCAL > > >>> DTD/Schema with pub > > >>> > > >>> Best, > > >>> Girish > > >>> > > >>> > > >>> > > >>> > > >>> On Sat, May 25, 2019 at 2:27 PM Mathieu Lirzin < > > >>> mathieu.lir...@nereide.fr> wrote: > > >>> > > >>>> Hello Girish, > > >>>> > > >>>> Girish Vasmatkar <girish.vasmat...@hotwaxsystems.com> writes: > > >>>> > > >>>> > When you run eclipse task it removes all unnecessary classpath > > entries > > >>>> > including the ones containing "config" and "dtd". This introduces > a > > >>>> minor > > >>>> > inconvenience, in turn, because you do need two entries below in > > >>>> order for > > >>>> > OFBiz to start normally - > > >>>> > > > >>>> > <OFBiz>/framework/base/config > > >>>> > <OFBiz>/framework/base/dtd > > >>>> > > > >>>> > I rely heavily on *Start.java* to launch OFBiz (Run as Java > > >>>> Application) > > >>>> > > >>>> I guess every one using OFBiz is relying on it, no? :-) > > >>>> > > >>>> > and therefore the code needs cache.properties and > > ofbiz-component.xsd > > >>>> to be > > >>>> > in the classpath during start up. > > >>>> > > >>>> Can you tell us during the startup when and for what purpose are > those > > >>>> files needed? > > >>>> > > >>>> And what does happen when you don't add > “/framework/base/{config,dtd}” > > >>>> manually to the classpath? an error, a warning? > > >>>> > > >>>> > I see that we are removing certain eclipse classpath entries > > (rightly > > >>>> > so). Doing so also deletes classpath entry for > > /framework/base/config > > >>>> > and /framework/base/dtd that we need for normal start-up. > > >>>> > > > >>>> > I opine that we have to make provision for escaping deletion of > > these > > >>>> two > > >>>> > entries. This is essential because every time we run ./gradlew > > >>>> eclipse, you > > >>>> > have to add the two entries manually all over again as the eclipse > > >>>> task > > >>>> > resets classpath entries. > > >>>> > > > >>>> > Granted, it is a minor inconvenience, but I feel this should be > > >>>> handled. > > >>>> > Should I go file a ticket for this change if we have a mutual > > consent > > >>>> on > > >>>> > this one? > > >>>> > > >>>> I see no reason not to fix this issue. Moreover it would be nice to > > make > > >>>> it clearer in the ‘build.gradle’ what is the actual problem about > > having > > >>>> extra entries in the ‘.classpath’. > > >>>> > > >>>> Thanks. > > >>>> > > >>>> -- > > >>>> Mathieu Lirzin > > >>>> GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 > > >>>> > > >>> > > >