I see, sounds good. No harm in altering the exclusions.
On Sun, May 26, 2019 at 10:01 PM Michael Brohl <michael.br...@ecomify.de> wrote: > > Hi Taher, > > I find it extremely useful to start OFBiz from the IDE ;-) > > This way hot code replacement is supported which helps changing code at > runtime or while debugging. > > We add these two classpath entries by hand in Eclipse until now. I think > there would be no problem to remove the two exclusions which would make > these extra steps obsolete. > > Thanks, > > Michael > > ecomify GmbH - www.ecomify.de > > > Am 25.05.19 um 19:15 schrieb Taher Alkhateeb: > > 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 > >>>>>>> >