X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26808) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail-yw1-f178.google.com ([209.85.128.178] verified) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.17) with ESMTPS id 29397331 for webobjects-dev@wocommunity.org; Fri, 10 Feb 2023 15:32:36 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=209.85.128.178; envelope-from=recurve@cocoanutstech.com Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-52ecd867d89so21758667b3.8 for ; Fri, 10 Feb 2023 06:32:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chatnbike.com; s=chatnbike; h=to:message-id:subject:date:mime-version:content-transfer-encoding :from:from:to:cc:subject:date:message-id:reply-to; bh=W+FD241tahw35u9CIIploQW/0IWWur2kCRPq6/mL7aQ=; b=Y2XtOzSXVmQQuyIp+MwUIsd203Bofm3wfthipsWjmxoEL6OSPqeFPu3tfjI3rvzFLd V2WqR8bA4Ic/Ft3DJuC9rELDeNS/TvP9e2Ca7HSFD7PUrfXAOfcLklQ2Bu5JwzW/s3Cm SUHX9KpowG+BkXWJxFYm0qD2nhV0/3pmZfacM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:message-id:subject:date:mime-version:content-transfer-encoding :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=W+FD241tahw35u9CIIploQW/0IWWur2kCRPq6/mL7aQ=; b=1kFNrj+BwjOvgCcpoTv8BWdUouplvbzOmsdqUo7V5PffUdPVocxuia//hGhGtfuEIT NKUDmSxnS4h0l61fAHvn2yHYbm14qoup1CCMFDrkOnom7jRrrGr1Duv2o6bP+3m1LOUi tMlEP+v9g6r6QsopqcV3QXA3iTUrdJvD2eV6XM5tcYu0IYWzypt56B3WyduPyv64mq7C NAnGwQtOQ0nKGLCT/tjNQChjVbcGKrRqN+iIg3911MGjyaIcqI9kul+038MpPSOH23Tr T7aLcsLBnQo6bPKxwedVRVl5R/ZBdnmxrgkMaNKyJ/TxJc8RRJTtzfavAmRcPPM/v2QK /Qrg== X-Gm-Message-State: AO0yUKWDL6Uf9QgVSC9OyLoeSYmfp8t4ukAwu7OzJvXBvlYbTqtchM3s Hk5946ca8eDGZIKa5U48LLlr0PLXzvxgWSSvCh4= X-Google-Smtp-Source: AK7set8e8x/CZ5tJZZ3tNJ2TNCUph0UJSgvXbNcw23lJVBSgRcJmLo2diUSET+55j0Qx/YMbhP+DhQ== X-Received: by 2002:a81:7e43:0:b0:506:4f08:5afb with SMTP id p3-20020a817e43000000b005064f085afbmr9198616ywn.15.1676039533874; Fri, 10 Feb 2023 06:32:13 -0800 (PST) Return-Path: Received: from smtpclient.apple (pool-173-79-19-72.washdc.fios.verizon.net. [173.79.19.72]) by smtp.gmail.com with ESMTPSA id m127-20020a37bc85000000b00720750365b9sm3597684qkf.129.2023.02.10.06.32.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Feb 2023 06:32:13 -0800 (PST) From: Aaron Rosenzweig Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\)) Date: Fri, 10 Feb 2023 09:32:12 -0500 Subject: Maven: Properties not available until late in app startup sequence Message-Id: To: WebObjects & WOnder Development X-Mailer: Apple Mail (2.3696.120.41.1.2) Hi Everyone,=20 There is a difference in the startup processing of properties when I = launch our app in Eclipse using ANT vs Maven. Anyone know why this might = be?=20 Our properties file has defined: = er.extensions.ERXClassDescription.factoryClass Which is supposed to direct this call: = ERXEntityClassDescription.registerDescription() But when it is time to register, the following returns null: = ERXProperties.stringForKey("er.extensions.ERXClassDescription.factoryClass= =E2=80=9D) Later, such as in installPatches() or finishInitilization(), the = property has a value. So the app does find the property but not in the = early part when its really needed.=20 I have a hunch that the order of frameworks loading is brittle and = causes this behavior. We have several apps which share a =E2=80=9Ccore=E2=80= =9D framework which is where the Properties file is stored and makes the = declaration. I think with ANT, our core framework initialized before = ERExtensions and now, with Maven, the opposite is true. I don=E2=80=99t = know this for a fact but it=E2=80=99s what I suspect.=20 If I redeclare the property in a particular apps Properties file, then = ERXEntityClassDescription.registerDescription() can determine the = override. It=E2=80=99s a temporary workaround but it means I need to = duplicate all the properties that used to be in CORE by putting them = into each app's properties.=20=