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
> >>>>>>>
>

Reply via email to